{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "f02249e2",
   "metadata": {},
   "outputs": [],
   "source": [
    "# importing libaries\n",
    "\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.io"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "7c6ddce9",
   "metadata": {},
   "outputs": [],
   "source": [
    "class LEMCell(nn.Module):\n",
    "    def __init__(self, ninp, nhid, dt):\n",
    "        super(LEMCell, self).__init__()\n",
    "        self.ninp = ninp\n",
    "        self.nhid = nhid\n",
    "        self.dt = dt\n",
    "        self.inp2hid = nn.Linear(ninp, 4 * nhid)\n",
    "        self.hid2hid = nn.Linear(nhid, 3 * nhid)\n",
    "        self.transform_z = nn.Linear(nhid, nhid)\n",
    "        self.reset_parameters()\n",
    "\n",
    "    def reset_parameters(self):\n",
    "        std = 1.0 / np.sqrt(self.nhid)\n",
    "        for w in self.parameters():\n",
    "            w.data.uniform_(-std, std)\n",
    "\n",
    "    def forward(self, x, y, z):\n",
    "        transformed_inp = self.inp2hid(x)\n",
    "        transformed_hid = self.hid2hid(y)\n",
    "        i_dt1, i_dt2, i_z, i_y = transformed_inp.chunk(4, 1)\n",
    "        h_dt1, h_dt2, h_y = transformed_hid.chunk(3, 1)\n",
    "\n",
    "        ms_dt_bar = self.dt * torch.sigmoid(i_dt1 + h_dt1)\n",
    "        ms_dt = self.dt * torch.sigmoid(i_dt2 + h_dt2)\n",
    "\n",
    "        z = (1. - ms_dt) * z + ms_dt * torch.tanh(i_y + h_y)\n",
    "        y = (1. - ms_dt_bar) * y + ms_dt_bar * torch.tanh(self.transform_z(z) + i_z)\n",
    "\n",
    "        return y, z\n",
    "\n",
    "# Define the LEM model\n",
    "class LEM(nn.Module):\n",
    "    def __init__(self, ninp, nhid, nout, dt=1.):\n",
    "        super(LEM, self).__init__()\n",
    "        self.nhid = nhid\n",
    "        self.cell = LEMCell(ninp, nhid, dt)\n",
    "        self.classifier = nn.Linear(nhid, nout)\n",
    "        self.init_weights()\n",
    "\n",
    "    def init_weights(self):\n",
    "        for name, param in self.named_parameters():\n",
    "            if 'classifier' in name and 'weight' in name:\n",
    "                nn.init.kaiming_normal_(param.data)\n",
    "\n",
    "    def forward(self, input):\n",
    "        y = input.data.new(input.size(1), self.nhid).zero_()\n",
    "        z = input.data.new(input.size(1), self.nhid).zero_()\n",
    "        for x in input:\n",
    "            y, z = self.cell(x, y, z)\n",
    "        out = self.classifier(y)\n",
    "        return out"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "36d6fa55",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Toy problem data\n",
    "input_size = 256  # number of columns in a dataset\n",
    "hidden_size = 32  # number of neurons\n",
    "output_size = 256  \n",
    "sequence_length = 160  # number of sequences/ number of rows\n",
    "batch_size = 1\n",
    "num_epochs = 20000"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "519594c6",
   "metadata": {},
   "source": [
    "### importing PINN solution"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "2103e0ff",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Load the .mat file\n",
    "v_data = scipy.io.loadmat('v.mat')\n",
    "h_data = scipy.io.loadmat('h.mat')\n",
    "x_data = scipy.io.loadmat('x.mat')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "172f53d3",
   "metadata": {},
   "outputs": [],
   "source": [
    "x = x_data['X']\n",
    "u = h_data['h']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "bf954b1d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<torch._C.Generator at 0x7f8a6c147790>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Set random seed for reproducibility\n",
    "torch.manual_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "cdabefdf",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "test data shape (256,)\n",
      "input data shape (160, 256)\n",
      "Target data shape (160, 256)\n"
     ]
    }
   ],
   "source": [
    "input_data = u[0:160,:]\n",
    "target_data = u[1:161, :]\n",
    "\n",
    "test_data = u[160, :]\n",
    "#test_target = u[161:201, :]\n",
    "\n",
    "print(\"test data shape\", test_data.shape)\n",
    "#print(\"test target shape\", test_target.shape)\n",
    "\n",
    "print(\"input data shape\",input_data.shape)\n",
    "print(\"Target data shape\",target_data.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "b32d98b1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "input tensor shape torch.Size([1, 160, 256])\n",
      "Target tensor shape torch.Size([1, 160, 256])\n"
     ]
    }
   ],
   "source": [
    "# Convert data to tensors\n",
    "input_tensor = torch.tensor(input_data).view(batch_size, sequence_length, input_size).float()\n",
    "target_tensor = torch.tensor(target_data).view(batch_size, sequence_length, output_size).float()\n",
    "\n",
    "print(\"input tensor shape\",input_tensor.shape)\n",
    "print(\"Target tensor shape\",target_tensor.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "b4c0af1d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Convert test data to tensors\n",
    "test_tensor = torch.tensor(test_data).view(batch_size, 1, input_size).float()\n",
    "#test_target_tensor = torch.tensor(test_target).view(batch_size, 40, output_size).float()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "bd1463d1",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/data/localhome/tkapoor/.local/lib/python3.8/site-packages/torch/nn/modules/loss.py:520: UserWarning: Using a target size (torch.Size([1, 160, 256])) that is different to the input size (torch.Size([160, 256])). This will likely lead to incorrect results due to broadcasting. Please ensure they have the same size.\n",
      "  return F.mse_loss(input, target, reduction=self.reduction)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 10/20000, Loss: 0.0003854737733491\n",
      "Epoch: 20/20000, Loss: 0.0000949084278545\n",
      "Epoch: 30/20000, Loss: 0.0000595643468841\n",
      "Epoch: 40/20000, Loss: 0.0000489872945764\n",
      "Epoch: 50/20000, Loss: 0.0000364139341400\n",
      "Epoch: 60/20000, Loss: 0.0000224432151299\n",
      "Epoch: 70/20000, Loss: 0.0000152232878463\n",
      "Epoch: 80/20000, Loss: 0.0000119987953440\n",
      "Epoch: 90/20000, Loss: 0.0000096992207546\n",
      "Epoch: 100/20000, Loss: 0.0000077917084127\n",
      "Epoch: 110/20000, Loss: 0.0000059309104472\n",
      "Epoch: 120/20000, Loss: 0.0000041765056267\n",
      "Epoch: 130/20000, Loss: 0.0000033844298741\n",
      "Epoch: 140/20000, Loss: 0.0000024980340640\n",
      "Epoch: 150/20000, Loss: 0.0000023643253826\n",
      "Epoch: 160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1900/20000, Loss: 0.0000023632751436\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 1910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 1990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 2990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3780/20000, Loss: 0.0000023632751436\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 3790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 3990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 4990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5660/20000, Loss: 0.0000023632751436\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 5670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 5990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 6990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7540/20000, Loss: 0.0000023632751436\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 7550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 7990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 8990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9420/20000, Loss: 0.0000023632751436\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 9430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 9990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 10990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11260/20000, Loss: 0.0000023632751436\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 11270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 11990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 12990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13100/20000, Loss: 0.0000023632751436\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 13110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 13990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14940/20000, Loss: 0.0000023632751436\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 14950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 14990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 15990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16780/20000, Loss: 0.0000023632751436\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 16790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 16990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 17990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18620/20000, Loss: 0.0000023632751436\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 18630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 18990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19000/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19010/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19020/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19030/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19040/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19050/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19060/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19070/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19080/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19090/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19100/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19110/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19120/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19130/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19140/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19150/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19160/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19170/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19180/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19190/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19200/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19210/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19220/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19230/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19240/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19250/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19260/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19270/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19280/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19290/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19300/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19310/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19320/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19330/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19340/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19350/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19360/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19370/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19380/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19390/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19400/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19410/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19420/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19430/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19440/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19450/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19460/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19470/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19480/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19490/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19500/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19510/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19520/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19530/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19540/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19550/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19560/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19570/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19580/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19590/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19600/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19610/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19620/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19630/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19640/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19650/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19660/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19670/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19680/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19690/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19700/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19710/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19720/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19730/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19740/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19750/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19760/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19770/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19780/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19790/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19800/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19810/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19820/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19830/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19840/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19850/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19860/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19870/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19880/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19890/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19900/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19910/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19920/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19930/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19940/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19950/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19960/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19970/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19980/20000, Loss: 0.0000023632751436\n",
      "Epoch: 19990/20000, Loss: 0.0000023632751436\n",
      "Epoch: 20000/20000, Loss: 0.0000023632751436\n"
     ]
    }
   ],
   "source": [
    "# # dt=0.25, 0.15\n",
    "lem = LEM(input_size, hidden_size, output_size, dt=0.25)\n",
    "\n",
    "# Loss and optimizer\n",
    "criterion = nn.MSELoss()\n",
    "optimizer = torch.optim.LBFGS(lem.parameters(), lr=0.1)\n",
    "\n",
    "# # Loss and optimizer\n",
    "# criterion = nn.MSELoss()\n",
    "# optimizer = torch.optim.Adam(lem.parameters(), lr=0.001)\n",
    "\n",
    "# Training loop\n",
    "for epoch in range(num_epochs):\n",
    "    def closure():\n",
    "        optimizer.zero_grad()\n",
    "        output = lem(input_tensor)\n",
    "        loss = criterion(output, target_tensor)\n",
    "        loss.backward()\n",
    "        return loss\n",
    "\n",
    "    optimizer.step(closure)\n",
    "\n",
    "    # Print progress\n",
    "    if (epoch + 1) % 10 == 0:\n",
    "        print(f'Epoch: {epoch + 1}/{num_epochs}, Loss: {closure().item():.16f}')\n",
    "\n",
    "    # Flatten prediction tensor\n",
    "    prediction = lem(input_tensor).view(-1).detach().numpy()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "928ae47f",
   "metadata": {},
   "outputs": [],
   "source": [
    "# # Create LEM instance\n",
    "# lem = LEM(input_size, hidden_size, output_size, dt=0.1)\n",
    "\n",
    "# # Loss and optimizer\n",
    "# criterion = nn.MSELoss()\n",
    "# optimizer = torch.optim.Adam(lem.parameters(), lr=0.001)\n",
    "\n",
    "\n",
    "\n",
    "# # Training loop\n",
    "# for epoch in range(num_epochs):\n",
    "#     # Forward pass\n",
    "#     output = lem(input_tensor)\n",
    "#     loss = criterion(output, target_tensor)\n",
    "\n",
    "#     # Backward and optimize\n",
    "#     optimizer.zero_grad()\n",
    "#     loss.backward()\n",
    "#     optimizer.step()\n",
    "\n",
    "#     # Print progress\n",
    "#     if (epoch + 1) % 10 == 0:\n",
    "#         print(f'Epoch: {epoch + 1}/{num_epochs}, Loss: {loss.item():.6f}')\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ba3799af",
   "metadata": {},
   "source": [
    "### Exact solution"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "86371afd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1, 256)\n",
      "(1, 201)\n",
      "(201, 256)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/data/localhome/tkapoor/.local/lib/python3.8/site-packages/numpy/ma/core.py:2820: ComplexWarning: Casting complex values to real discards the imaginary part\n",
      "  _data = np.array(data, dtype=dtype, copy=copy,\n",
      "/usr/local/lib/python3.8/dist-packages/matplotlib/contour.py:1180: ComplexWarning: Casting complex values to real discards the imaginary part\n",
      "  self.levels = np.asarray(levels_arg).astype(np.float64)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.io\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# Load the .mat file\n",
    "mat_data = scipy.io.loadmat('NLS.mat')\n",
    "\n",
    "# Following is the code to plot the data u vs x and t. u is 256*100\n",
    "# matrix. Use first 75 columns for training and 25 for testing :)\n",
    "\n",
    "# Access the variables stored in the .mat file\n",
    "# The variable names in the .mat file become keys in the loaded dictionary\n",
    "x = mat_data['x']\n",
    "t = mat_data['tt']\n",
    "u1 = mat_data['uu']\n",
    "\n",
    "# Use the loaded variables as needed\n",
    "print(x.shape)\n",
    "print(t.shape)\n",
    "print(u.shape)\n",
    "\n",
    "X, T = np.meshgrid(x, t)\n",
    "# Define custom color levels\n",
    "c_levels = np.linspace(np.min(u1), np.max(u1), 100)\n",
    "\n",
    "# Plot the contour\n",
    "plt.figure()\n",
    "plt.figure(figsize=(15, 5))\n",
    "plt.contourf(T, X, u1.T, levels=c_levels, cmap='coolwarm')\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('x')\n",
    "plt.title('Schrondinger-Equation')\n",
    "plt.colorbar()  # Add a colorbar for the contour levels\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "58f3e90d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([1, 1, 256])\n",
      "torch.Size([1, 40, 256])\n"
     ]
    }
   ],
   "source": [
    "print(test_tensor.shape)\n",
    "prediction_tensor = torch.zeros(1, 40, 256).float()\n",
    "print(prediction_tensor.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "79d7df2b",
   "metadata": {},
   "outputs": [],
   "source": [
    "with torch.no_grad():\n",
    "    prediction = lem(test_tensor)\n",
    "    prediction = prediction.view(1, 1, 256).float()\n",
    "    prediction_tensor[:, 0, :] = prediction\n",
    "    for i in range(39):\n",
    "        prediction = lem(prediction)\n",
    "        prediction = prediction.view(1, 1, 256).float()\n",
    "        prediction_tensor[:, i+1, :] = prediction\n",
    "        \n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e5dcef45",
   "metadata": {},
   "source": [
    "### Errors"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "59c8ee5f",
   "metadata": {},
   "source": [
    "### L2 norm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "c90a052e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 1, 256])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_tensor.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "5043b50b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(201, 256)\n"
     ]
    }
   ],
   "source": [
    "# true solution\n",
    "h_true = np.abs(u1)\n",
    "h_true = h_true.T\n",
    "print(h_true.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "8f380e24",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(40, 256)\n"
     ]
    }
   ],
   "source": [
    "# exact\n",
    "u_test_full = h_true[161:201, :]\n",
    "print(u_test_full.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "d8f98f3c",
   "metadata": {},
   "outputs": [],
   "source": [
    "# with torch.no_grad():\n",
    "#     prediction = lem(test_tensor)\n",
    "\n",
    "# prediction.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "21fdcc06",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 40, 256])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "k1 = (prediction_tensor - u_test_full)**2\n",
    "u_test_full_tensor = torch.tensor(u_test_full**2)\n",
    "prediction_tensor.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "203c3e52",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relative Error Test:  0.005152016267244601 %\n"
     ]
    }
   ],
   "source": [
    "# Compute the relative L2 error norm (generalization error)\n",
    "relative_error_test = torch.mean(k1)/ torch.mean(u_test_full_tensor)\n",
    "\n",
    "print(\"Relative Error Test: \", relative_error_test.item(), \"%\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ee7d637",
   "metadata": {},
   "source": [
    "### Max error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "6563c9c6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(0.1291, dtype=torch.float64)\n"
     ]
    }
   ],
   "source": [
    "R_abs = torch.max(prediction_tensor-u_test_full)\n",
    "print(R_abs)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0c59e44b",
   "metadata": {},
   "source": [
    "### Explained variance score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "882528cf",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Explained Variance Score: 0.9918282225201792\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "\n",
    "a = prediction_tensor\n",
    "b = u_test_full\n",
    "# Assuming 'a' is your predicted values (model's predictions) and 'b' is the true values (ground truth)\n",
    "# Make sure 'a' and 'b' are PyTorch tensors\n",
    "b = torch.tensor(b)\n",
    "# Calculate the mean of 'b'\n",
    "mean_b = torch.mean(b)\n",
    "\n",
    "# Calculate the Explained Variance Score\n",
    "numerator = torch.var(b - a)  # Variance of the differences between 'b' and 'a'\n",
    "denominator = torch.var(b)    # Variance of 'b'\n",
    "evs = 1 - numerator / denominator\n",
    "\n",
    "print(\"Explained Variance Score:\", evs.item())\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "459a08cf",
   "metadata": {},
   "source": [
    "### Mean absolute error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "c25e9d74",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(0.0362, dtype=torch.float64)\n"
     ]
    }
   ],
   "source": [
    "R_mean = torch.mean(torch.abs(prediction_tensor - u_test_full))\n",
    "print(R_mean)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "f784a4e6",
   "metadata": {},
   "outputs": [],
   "source": [
    "## t= 1.28, 1.5, 1.37"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dc49e1af",
   "metadata": {},
   "source": [
    "### snapshots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "cf2b9c48",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(256, 201)"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prediction_tensor = torch.squeeze(prediction_tensor)\n",
    "h = np.abs(u1)\n",
    "h.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "2eacce42",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(256, 1)\n",
      "(256, 1)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "# # Make sure the font is Times Roman\n",
    "# plt.rcParams['font.family'] = 'Times New Roman'\n",
    "\n",
    "# # Perform the prediction\n",
    "# with torch.no_grad():\n",
    "#     prediction = lem(test_tensor)\n",
    "\n",
    "final_time_output = prediction_tensor[-38, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = h[:, -38].reshape(-1, 1)\n",
    "print(final_out.shape)\n",
    "print(final_true.shape)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x.T, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x.T, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "# Set the axis labels with bold font weight\n",
    "ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "ax.set_ylabel(r\"${|u(x, t)|}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# Set the title with bold font weight\n",
    "ax.set_title(r\"${t = 1.28}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 3\n",
    "ax.set_xticks([-5, 0, 5])\n",
    "ax.set_yticks([0, 2, 4])\n",
    "\n",
    "# Set tick labels fontweight to bold and increase font size\n",
    "ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # Set the fontweight for tick labels to bold\n",
    "# for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "#     tick.set_weight('bold')\n",
    "\n",
    "# Set the spines linewidth to bold\n",
    "ax.spines['top'].set_linewidth(2)\n",
    "ax.spines['right'].set_linewidth(2)\n",
    "ax.spines['bottom'].set_linewidth(2)\n",
    "ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "\n",
    "# Increase font size for x and y axis numbers\n",
    "ax.tick_params(axis='both', which='major', labelsize=24)\n",
    "\n",
    "# Set the legend\n",
    "# ax.legend()\n",
    "\n",
    "plt.savefig('LEM_1.28_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "baceeeca",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(256, 1)\n",
      "(256, 1)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "# # Make sure the font is Times Roman\n",
    "# plt.rcParams['font.family'] = 'Times New Roman'\n",
    "\n",
    "# # Perform the prediction\n",
    "# with torch.no_grad():\n",
    "#     prediction = lem(test_tensor)\n",
    "\n",
    "\n",
    "final_time_output = prediction_tensor[-3, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = h[:, -3].reshape(-1, 1)\n",
    "print(final_out.shape)\n",
    "print(final_true.shape)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x.T, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x.T, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "# Set the axis labels with bold font weight\n",
    "ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "ax.set_ylabel(r\"${u(x, t)}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# Set the title with bold font weight\n",
    "ax.set_title(r\"${t = 1.5}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 3\n",
    "ax.set_xticks([-5, 0, 5])\n",
    "ax.set_yticks([0, 2, 4])\n",
    "\n",
    "# Set tick labels fontweight to bold and increase font size\n",
    "ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # Set the fontweight for tick labels to bold\n",
    "# for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "#     tick.set_weight('bold')\n",
    "\n",
    "# Set the spines linewidth to bold\n",
    "ax.spines['top'].set_linewidth(2)\n",
    "ax.spines['right'].set_linewidth(2)\n",
    "ax.spines['bottom'].set_linewidth(2)\n",
    "ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "\n",
    "# Increase font size for x and y axis numbers\n",
    "ax.tick_params(axis='both', which='major', labelsize=24)\n",
    "\n",
    "# Set the legend\n",
    "# ax.legend()\n",
    "\n",
    "plt.savefig('LEM_1.5_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8575833f",
   "metadata": {},
   "source": [
    "### 80-20 contour plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "d355ac1f",
   "metadata": {},
   "outputs": [],
   "source": [
    "conc_u = torch.squeeze(input_tensor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "cbe2f326",
   "metadata": {},
   "outputs": [],
   "source": [
    "concatenated_tensor = torch.cat((conc_u, prediction_tensor), dim=0)\n",
    "\n",
    "t1 = np.linspace(0, 1.5707 , 200)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "5010ccd3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FixedLocator\n",
    "\n",
    "# Assuming you have defined concatenated_tensor as a PyTorch tensor\n",
    "# concatenated_tensor = torch.cat((tensor1, tensor2), dim=0)\n",
    "\n",
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = concatenated_tensor.numpy()\n",
    "\n",
    "# Define custom color levels\n",
    "x = np.linspace(0, 1, concatenated_array.shape[1])  # Replace 0 and 1 with your actual x range\n",
    "t = np.linspace(0, 1, concatenated_array.shape[0])  # Replace 0 and 1 with your actual t range\n",
    "X, T = np.meshgrid(x, t1)\n",
    "\n",
    "# Define custom color levels using the minimum and maximum from the NumPy array\n",
    "c_levels = np.linspace(np.min(concatenated_array), np.max(concatenated_array), 400)\n",
    "\n",
    "# Plot the contour with interpolated data\n",
    "plt.figure(figsize=(20, 5))\n",
    "plt.pcolormesh(T, X, concatenated_array, shading='auto', cmap='twilight')\n",
    "\n",
    "# Set the fontweight for axis labels to regular (not bold)\n",
    "plt.xlabel(\"$t$\", fontsize=26)\n",
    "plt.ylabel(\"$x$\", fontsize=26)\n",
    "plt.title(\"$|u(x, t)|$\", fontsize=26)\n",
    "\n",
    "# Set tick labels fontweight to regular (not bold) and increase font size\n",
    "plt.tick_params(axis='both', which='major', labelsize=20, width=3, length=10)\n",
    "\n",
    "# Set the fontweight for tick labels to regular (not bold)\n",
    "for tick in plt.gca().get_xticklabels() + plt.gca().get_yticklabels():\n",
    "    tick.set_weight('normal')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 5\n",
    "num_ticks = 5\n",
    "x_ticks = np.linspace(np.min(T), np.max(T), num_ticks)\n",
    "y_ticks = np.linspace(np.min(X), np.max(X), num_ticks)\n",
    "\n",
    "plt.gca().xaxis.set_major_locator(FixedLocator(x_ticks))\n",
    "plt.gca().yaxis.set_major_locator(FixedLocator(y_ticks))\n",
    "\n",
    "cbar1 = plt.colorbar()\n",
    "# Set the number of ticks for the color bar with uniformly distributed numbers\n",
    "num_ticks = 5\n",
    "c_ticks = np.linspace(np.min(concatenated_array), np.max(concatenated_array), num_ticks)\n",
    "cbar1.set_ticks(c_ticks)\n",
    "\n",
    "# Set the fontweight and fontsize for color bar tick labels\n",
    "for t in cbar1.ax.get_yticklabels():\n",
    "    t.set_weight('normal')\n",
    "    t.set_fontsize(26)  # Increase the font size for color bar tick labels\n",
    "\n",
    "# Increase the size of numbers on axis and color bar\n",
    "plt.xticks(fontsize=26)\n",
    "plt.yticks(fontsize=26)\n",
    "\n",
    "# Increase the tick size and width of the color bar\n",
    "cbar1.ax.tick_params(axis='both', which='major', labelsize=30, width=3,  length=10)\n",
    "\n",
    "# Add a dotted line at t = 0.8\n",
    "plt.axvline(x=1.26449, color='black', linestyle='dotted', linewidth=5)\n",
    "\n",
    "#plt.savefig('Contour_LEM_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "plt.savefig('contour_LEM_20.jpeg', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "69bb6963",
   "metadata": {},
   "source": [
    "### exact contour"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "9d174f94",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABJkAAAGCCAYAAABD4xLUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAC5P0lEQVR4nO29ebwsVXX2/6xz7r2ggKIiqCiCEw6g4Bg1GuOMQ5zFNzGKQzDG5NVX3/hLHCImUZM3MSZqnDVExYEYjQMKcYyJcUJBUaOoiIooMwoo3HvPWb8/qg6nz9qre6/eXdVdVf18z6c/p6t67bV3Vde0n157bVFVEEIIIYQQQgghhBAyCyuLbgAhhBBCCCGEEEII6T8UmQghhBBCCCGEEELIzFBkIoQQQgghhBBCCCEzQ5GJEEIIIYQQQgghhMwMRSZCCCGEEEIIIYQQMjMUmQghhBBCCCGEEELIzFBkIoQQQgghhBBCCCEzQ5GJEEIIIYQQQgghhMwMRSZCCCFkSRGRz4iIisgxc6jrXnVdp4mItF1fU4jIKXW7Hxuwndv+JIQQQgjpIhSZCCGEEDIP/l/9/y9UVRfakhFE5HG1MHSViGx3TP6i/v8yEdk2z7YRQgghhPQNikyEEEIIaRUReQyAXwNwBoAPLLg5ljvV/7+pqrvsh6r6XwA+A+BWAJ42x3YRQgghhPQOikyEEEIIaZsX1P9f16UoppoNkem0CTavrf//SZ+G+hFCCCGEzBuKTIQQQghpDRG5I4A7AtgF4F8W3ByPO9b/J4lMJwG4DMDBAO7fdoMIIYQQQvoKRSZCCCGEuIjIv9X5it49webg2kZF5Ncck6fX//9dVS8a4+OWIrKr9vFXY2xERE6sbS4XkbtMv0VX+7r2RpsBXLde/ZqR7VAROW/DXlWvxOYwv6dbf4QQQgghpIIiEyGEEELGcWT9f1KUz4bNOqqcS5ZH1/9PGedAVb8L4Ph68Q9F5PqO2d8CeByA3QAer6pfntCmHIcFbOy2nFz//y0R2TFD3YQQQgghg4UiEyGEEEISROS6AA6qF0+fYLohMn1fVa8wPm4F4IB68dRMlX8O4CoAewH4Y+PnDwE8t158pqp+NOMrxxcA7IPNXFE/rZdHXw81ZTZErT0BFEdREUIIIYQMGYpMhBBCCPE4YuR9JJLpa85n96r/78ZkoQqq+mMAr68XnyUi+wOAiDwSwD/U61+qqm+Z5CeCqq6p6uUAblOvOl1VLzevq0yZ7wG4pF6896xtIIQQQggZIhSZCCGEEOKxIR6dq6oXBOw8kem29f+fquqvAnW+HMDlAK4J4PkicjcA70L1vPI2VT0u4GMa7lD/nySijXJW/f92DbeDEEIIIWQQUGQihBBCiMcR9f+xAkydO+nAetETmTZyK13ifJZQi1mvqhefCeDDAK4B4KMAnhHxEaXOq3R1JFOw2MZ27NdkWwghhBBChgJFJkIIIYR4bEQonR6wAXyRaUOMCYlMNX8L4GJU0UzXR5XL6fGqunsKHxFuC2B7/f70YJmL6/9eYnJCCCGEkKWHIhMhhBBCtiAiewI4tF6M5GO6VFV/1FD110WVw2mD59qE4g1xRP3/cgDfa8E/IYQQQsjSQZGJEEIIIZbDAGyr358+we4+9X8vigkALqz/XzdSaT2j3ckA9h9Z/exI2QKOqP9/XVU1WGZjOyblqCKEEEIIWVooMhFCCCHEspHY+gpsJrvegohcB8D96sVxItOGGHOdXIV19NSHUUVQ/RjAi+uPHi0idwy0eVo2kn6fPkWZje2gyEQIIYQQ4kCRiRBCCCGWG9f/L5gQ5fNibOY0Gicyfav+f0MRuea4ykRkBcAJAO4B4OcAHgLgr1ANYxNUs841zWH1/69PUeZm9f9vNtwWQgghhJBBQJGJEEIIIeO4kYjsa1eKyOMB/J+RVeNEpv+s/69ia5Jwyz8AeDSAnQAeparfqBN9/0X9+YNE5F7TNHwSIiLYTEr+i2CZW2Azkuk/J9kSQgghhCwrFJkIIYQQYtkQjXYA+FcRuaeIHCQi9xaRtwJ4z4jNGsZE9qjqmQDOrxfv4tmIyPMB/CEABfBUVf30yMcnADizfj82mklEtH4dn92yql0K4Lx68fdF5LYiso+I7F0P2/PYaP+VAL4cqYcQQgghZNmgyEQIIYQQy8cAfLV+f18A/wXghwD+A8CTALwEwEn1599R1Ssn+PrX+v+D7Aci8r9QDYsDgBeq6gmjn6vqGoA/rxd/XUQeMuV2TOKt9f97oxLJfgHgMgBvGGP/wPr/h1V1Z4PtIIQQQggZDBSZCCGEELKFWtx5AIA3o4r42QngbFTCzJ1V9S8AHF6b53Iavbn+f38R2RiiBhH5TQDHo8q59EZVfcWY8u8G8D/1+7+sh7pdjYjceGTxC5m2jPJiAP8XwBmoopM2ON0a1tFNj64X3zJFHYQQQgjpCFJxTxF5joicICJfFZEfi8ivROSXInKOiHxMRP7QSxcwY90PE5H3iMjZdX0/F5FvicirROS2U/q6l4gcLyLfFZHL69eZIvImEbnblL5uLyKvE5Fvisgv6radVe+fB+Y9OD7js/Yuhvph8tYA7jryuj2qEP6rVHVcWPu09eyDKr/EYwEcgir8/0wA7wLwj6q6K+DjyNrHfVBNv3wxgM8DeI2qfqaJdhJCCCFNISKfAfAbAJ6iqse3WM+pAO4E4Fmq+rqGfT8FwNtQzYJ368j9uqCOR6OKyPohgJup6voYu89gDvuTEEIIIdNT/2j0q6D5BQB+T1U/OGOd+6P6wey+E8x2AXiRqv6/jK+9UP3Y9YQJZgrg1QCeO+55pfa1DcDfAHjOpDoBvBfAMZmo9S1sixoukJtic3aaVhCRQwB8Apuzxmxwl/r1RBF5gKpeMsHH0wC8Hpsz7QDADVH98vkoEXmpqr602ZYTQgghveDlqESaZ4rI6yfMWFfC/ev/x7UhMNX8Yf3/ryY9sBFCCCGkF/wEwBdRRWP/ENVw+WuiCm55HIBbArg+qryUR6nqx0sqEZG9Afw7gDvUqy5EFRX+NVRazN0BHAPgGgD+WkR2qeqrxvhaRfUstZF+4AoA/1RvxzqqCVaehmqSkmejihR/9oTmvaG2ByqR650APosquvs29WcHAjgawB4i8ujo81sfIpkOBvCDevEcVMk29wNwLzQQySQiO1DlnbgdKlXz+QA+gEosejKAP0M1rPDjquqGi4nIvQF8CtXsOacDeB6q8PubA3gZNlXL31HVd83SXkIIIaQp5hl5IyKfB/BrAB6rqv+asw/6FAA/RfXQdvs2BCARuSeqnFRnArhdPevdONvPgJFMhBBCSCcRkRVUUc9jg1hqMec1AJ5Zr/q2qt6msL6/RqUvAJWgdX9VvcDY3BrAZwAcgCo9we1U9XuOr2cC2IgGPwfAb1o7EbkhKl3i1vWq31DVzzq+jgLw0XrxMgD3U9UvG5t9UOXf3Jjd98mq+vbcNgP9yMl0EYBHArihqt5EVR+Nasc1xbGoBCag2nGvVdWfqOrZdeTRn9afPUBEHjrGxytRCUznovqyP6WqF6jqFwAchc0ZeP56wqw1hBBCyJDZeMh6kc2rVIpW3EBVD2sxwujP6v8vnCQwEUIIIaTbqOr6JIGptllDFQF0Ub3q1iJiRzxlEZHt2BSqFMATrcBU1/dtAH9UL+5ANbmKx/8eef9MT4hS1Z+iCpTZ4GUBXy+wAlPt6zIAv41K+AKAv4g+v3VeZFLVy1T1g6r6s5aq2PjiT1PVf3E+fxWq8ZijtlcjIncBcOd68a9V9dLRz+sZaDYOlBsDeNisDSaEEEL6hqr+p6qKqh7Z8HC5VlHVB9Xtft+i20IIIYSQ9qmH3393ZNUNCtzcGcA+9fuvqeoZE2zfD+Dy+v0jReQaox/WEUob0UkXY3OG3wRV/RKAb9eL9xSRg4yvFVRR10Alfm2Z2df4OgebAT4HAfj1CdtwNZ0XmdqkViQ3Mrm7D4/1AbaR7Ot+InJNY/LwkffjHkA/CuCX9fvfKmgqIYQQQgghhBBCWqYWYg4eWVUS8DI6++13JhnW0VNn1Yt7A7j3BF/fDfxYd2b9X1CNrBrleqhyQAHA+ZPyThtfAPCQjC2AJReZANxx5P0XJ9htfLYnNkUp6+McVT3XK1wLVac5dRJCCCGEEEIIIaQD1EPC/hKb0Uunq+pZE4qMdTVDMw7viS+XPswu1yaHjryfdOD8YOT9oQBOdXzkDrwfALgngFuIyApnpyGEELJoVPU+i27DkOD+JIQQQvqDiDwYVSAJUM0udwtUs8NvzAZ3ETZnYJuW0einW2XasYqtM90fakxGfd1SRCQTzTRan/V1MarZ5LYDuL6I7GtT/kzhy2XZI5n2G3mfJOEa4fyR99cb42NS+VEfe6AKgUsQkeNERAOv4zJ1EUIIIYQQQgghg6GF/vLxqGaW/wCq3EQvRSUw7USVCucuqvrVwuaeis2k2UeIyGETbB+FrRrBvqMfquqPUM0oBwDXxYRhayJyZ2zmb/J87cbmSK0VAL8zwdeBAO47ztc4lj2Saa+R91dOsPvVyHsrEG34mFTe8/GLjP1Y9txzz5fc/rDbj8s6TwghhBBCCCGkx5zxzTMuVNXrL7odbXCfe91HL77k4pKi32+6LWP4NoBPYGuwyVSo6i9F5AQAT0E1RO0dIvIAVb1w1E5EbgXg1ab4tRyXb0YlggHA60XkPnYYn4gcAOCfg742kni/XES+oKpfMb72RiW87cj4Slh2kamXXGufa+Ej7x+bUJ4QQtCbqbsIIYQQQkjCwYce9MNFt6EtLr7kYpz0/g9PXe6gQw+2k3DNhKreALg6D9M+AA4D8EQAxwJ4A4A/EpFHqGqpuPVCAA8GcEMARwD4loi8FcDXUGkxv4ZKhLomqvQ7G0PmvNQ6fwfg8QBuB+AmAE4XkX8C8KXa/ggAT0cV6ZTzdQKAJ6OKUroWgP8WkXcC+Cyq4JnbAHhqXU/OV8Kyi0xXjLzfE5vTBlpGpxC0NlegChvbE5OZ5AMAoKrHATgu4we3P+z27D8SQrbAiwIhhBBCCOkL+QnSXM5V1Ru10BZFNdLov1EJLh8EcBIqQefjInK4ql4xyccYvz8VkQcA+DdU+Z6uD+BPHNN/AvB1AK+ql5MZ31T18jqH1AcA3BmVKPa/HV8noxoG+J4JvtZE5DEA3oVq9rkdqESlpxrTU+v2fmKcL49lz8k0Gqo2KRRx9LOLxvjIhTJufL4T48UsQsiSo4UvQgghhBBC+oGiCoqZ9jWn1qmegkqoAYBDADxpBl/fRDUr2x8A+CSqXM67AJwH4CMAHqaqTwVwnZFiP7N+al/noIp+emJd9meo9IWLAHyqXv8QVJFROV+XqupDADwcVf6pcwBcBeBSAJ8H8IcA7o6tO971ZVn2SKbvjLw/BFtnkYP5zCuzsXwLYzPJx3c5sxwhywsFIUIIIYQQsuz0oEt8MjZnlrsPgNeXOlLVK+vyk3zcduT9lyf4WkM13O2EcTYiEvJV+/sIKsFqZl8bLHsk02im+LtNsNv47EoA3xrj4yYickOvsIhsA3BHp05CSAcpjSZixBEhhBBCCCEBVKd/zZfLRt7v22ZFIrKCzUTcCuBzM7r8jZH3/zlvX0stMtXZ2DdEo8d6NrVA9Ih68ZOq+ktjMpqxzPWBrSFrHypoKiEkCIUgQgghhBBCuoxCdX3q15y5xcj7C8daNcNRAG5Qv/+4qv6o1JGI3A7AXerF76jqf83gaz8AD6sXLwXw/ki5pRaZajZC1u5YJ7+yPAfA/sb2alT1y6gSYgHA80Xk2qOfi8h2bCbzPgcTQtEIWRYYKUQIIYQQQsiSogB0ffrXnKgji542suq/W6zrmgD+ZmTV34yzDfhaBfDqkVV/W+qr5pXYnMDsH52AG5deiEwiclsR+bWNF4Abb360ub5+7WHKfkZEVETOHuP+TQC+Wb9/h4j8gYjcSERuKiJ/BuCv6s8+rqonjfHxPABrdbs+LSL3EZH9ROSuAD4G4Mja7v+rx2MS0knaFH8oBBFCCCGEEEJ0QZFMIvKcWk+YZLMPgHdgsw9/MTZnahu1O77WGVREjpvg794TPjsA1cio29SrjlfVT0yw//VaSPI+uxaAdwK4b73q0wDeOsFXop2MfLaHiPwdNhOefxvAX47zZelL4u/XYetYwA12oMp8PsohAM6OOlbVnSLycFTT8t0MwD/Wr1G+AuDoCT4+KyK/X7fzSFRf6BYTAC9V1XdF25Vtd1OORpAWfJLpoQhDCCGEEELIcFE+8c81MmmE+wB4lYh8F9VsbN9ANRRuDdVs8HcE8CgA163tdwN4uqraGean4aMich6AjwL4OoBLUM0kdzcAjwNwrdru06hmdJvEGwBcV0ROQpXr+YK6/BGo9IqNEVjfAPAE1YmJrF4E4B4i8lEAXwLwU1Qpfm4L4PEADq7tfgLgt6YJlumLyNQqqvoDETkCwP9BlVfpZqgOtDMBvAvAa1V1V8bHW0TkKwCei+rg3R+V6vl5AK9W1c+01f6m4KWOEEIIIYQQQnwoDjWFQtfXFtmAW9avSZwF4BmTIoum4GYYLyCtoxpd9VxV/VXA1w0BPH3C5/8K4PdVNZJH6joAfqd+eXwawNNU9QcBX1fTC5FJVe/TdllVvQzAn9ev0rpOA/C7peUJIYQQQgghw2ZZhAppaZzEsuy/QaNYRCJvAHgKgAcAuDeq6J+bAbgeqjRClwH4MYDTUE3W9RFV3dlAnUfXdd4DwIEA9gNwOap8zR8H8HZV/XrQ1x+gmlTs1wEchCqw5UoA5wL4DIATVDU6M92fAfgyqhFjhwA4AFWgzU9R5aB6r6p+LOhrC70QmQghhBBCCCGkLShcNA/3KRmPAguIZFLVSwCcWL9m9XUMgGMCdicBGJfbedo6Pwvgsw35+iqqIXeNQ5GJEEIIIYQQAqBMGPAiVigwEEImoeu7F90E0hIUmQghhBBCyFJBAaRZuD8JIVOhCtWF5mQiLUKRiRBCCCFkgHS942+jX7reXkIIIc2gi0/8TVqEIhMhhBBCBo0VLzi0pxtwnxNCyPKyoMTfZA5QZCKEEEIIIYQQQsh80MUk/ibzgSITIYQQMkAYJTIe7htCCOkm9uqcxp22VxeZLxwuN1woMvUUPiC3izeUgpBlhMOMCCGEdImSO85Qn+qW4e67DNu4nChnlxswFJkIcWCnmRAfnhuEELJcDOGqP4RtIGRQKBN/DxmKTIQQQgghpBh24AkhhEyDAoxkGjAUmXqIgg9082aoYdaEEDIveN8ihBBCCIAqkmmNkUxDhSITIQHYOSIRrBjJ44YQQgghhBALh8sNGYpMhBDSEBSVCCGEEEIICaDri24BaQmKTIQQQgghhBBCCJkPytnlhgxFJkIIIYQQQgghnYOz2g4VDpcbMhSZCCGEEEIIIUsFxQtCFogCYOLvwUKRqafwxkj6jHC+PkII6QR8niCEEDJvFBwuN2QoMhFC5g47NYQQQgghpMuUPq2WzDa8dD+/KofLDRmKTD2FXXQyD5buhkcIIYQMmJLnx8izgOe3b88QfLYmTVFyLC3l8cfhcoOFIhMhZCxLecMjBGWdo6bOl9KOma2/5JfUNsm1x9vuRbeZEFJ+HvL8JYSMhZFMg4YiE5lA6e9Sbf1O1hR87InTt98hCWmGRV4lmqq7a1e6XHu61l5CCFksvCqSgaPri24BaQmKTL1lUTeeturljbSb8HshTUHBkpDF07VrelvXha5tJyGEkK0olMPlBgtFJkIIIYQQQgghhMwHBcDhcoOFIhNZCGp+ZJSOBznY9i4zXf+uSFfhSUQIsfC6QAghywlzMg0Zikw9ZWiix9C2Z8jwuyJ9g8IoIcTCexkhhCwOVQ6XGzIUmXoKn42YKpwwyw+Jwc4kIYQQQkjHYCTTYKHIRHoL+42ExwAhzdJ18X5ZhOW2rm1d33/znNOWEELIAlGFrnF2uaFCkamHaP1HCBke0vluIBkyXb+zdL19XaeP+6+PbSaEEBKAkUyDhSITIYR0CArIhBBCCCFk0GiVl4kME4pMPYWnJCGElMFYMUIIIcvKIofjzrP/UnKvj7TP+mWfrBQFmPh7sFBk6ilUfueLtDQ9Fb9H0taxRcbDs44QQghplq7dW9tqT9e2s7cooOvMyTRUKDIREoBiEGkLHluEEEIIIWS5YCTTkKHI1FPYLSWEkGHC2DZCCCFk8bC/1SKMZBo0FJl6CqMfCCF9gsMC4/DqTgghhJBho8AaRaahQpGJENIJhtCxpowyHgrjhBBCCCEEAJSRTIOGIlMPUQyjQ07I0OB5SQhpiyZE7CFco7z9ULJdQ/xRYAjfLyFkWVAoI5kGC0WmnqJ8lCCEENJRZJBd+MXCu35FU/uB+5OQ/sJ+0EBglPtgocjUU3hOEkIIGcWmvbL3iXmmxWIHgBBCCCFj4XC5QUORqafwAZ4QQrrFoqN3cj8+8McJQgghhHQFXeODyVChyEQIIYQQQgghhJD5oAowkmmwUGTqI6qcqYkQQuaMZMabMcKUEEIIISQGE38PF4pMPUQBrLMvQxbEiuln22PRfu7ZENIUueMxUiYKxX1CCCGEkNlRBZQdhMFCkamn8Bdz0gaRnDK5+8E87xc8D8i65o9Ze5xEyhBCCCGEkLZQ5mQaMBSZegp/UCdtUCLazHXGKh73xFAkNAoPJEIIIYSQhcHZ5QYNRaaewggO0hUo/JC+ETlmFz1THCGEEELIoGEfYrBQZOohzMlECCFt0+2LbGleKUIIIYSQhaPgcLkB0yuRSUQeCeD3ARwJ4NoAzgVwMoBXqur3C/wdDOAHUxY7RFXPNn4+A+A3AmUfp6rvm7I+FyagJYSQ5WUIz2W52foIIYR0gyH0OyL3nCFsZ3/QhQyXk+pAuAeAu9Sv2wC4PoD9UP3CeDGAMwCcBOCdqnppg3XvBeAZAB4D4JYArgXgPABfAPA2VT1lCl/bARwD4AkAbgvgugAuAHAagHcCOFEnHNBt74deiEz1TngLgKeajw4B8EwAvysiR6vqR1tuysWohK2Fw+FyhBBC+gwf5puFQzz7wzyf4XhcxOGz9bDhPadbKBY2u9weAP5rwucH1q8HA/gzEfk9Vf3grJWKyJEA3gfgZuajg+rX40XkBABPVdWdGV8HA3g/qsAbr+0PA/B0EXncBHGo1f3QC5EJwJ9iU2A6EcDLAPwUwN0B/AOAgwG8V0TupKpnTuH3hwD2ydjcHMDp9fv3Zr70E1BFWo3jV/GmjUdVscbxciG8Xy2auMnwF3hCCCHdgs8FxIPHBSGkgyigawttwU8AfBHA11FpApcBuCaAWwN4HKpIo+sD+FcROUpVP15akYjcFMDHABxQr/oSqmijCwEcDuBYANcD8DuoLtq/O8HXvrWvW9er/gfA2wCcA+AWta+bALg/gPeLyANVdfeE5rWyHzovMonIAQBeUC+eBOAJI6FfHxKRM1CFcu2NSnx6XNR37efyTP2PHFl8R8blblWd6K8pmIs/SFu/WvDXkNZZWXQDCCGEEEIIIa2woEimnQBup6rfGmcgIn8G4DWoRkytAng1quFkpfw9NgWmtwH4PVXd6M6/W0TeCOCzqCKanigi71HVk8b4egk2BaaTATxKVa8cafvrAHwCVZTTb6IanvePjp9W90PnRSYATwKwV/3+hXZsoar+QETeDOA5AB4tIvur6vkN1v/E+v/3VPXzDfqdCYZ8kqGz2B83CGkHRkESQgjhczxZenQxIlMt7owVVmqbNRF5NoDHo4owurWI3ExVz5q2PhG5A4BH1os/AvCsEYFpo74fisgzUQXUAMBxI+9Hfe0P4A/qxSsAPHlUYKp9XSwiT0IVmSQAXiQib1DdGjfW9n7og8j08Pr/d1X1a2Ns3odKZFpBNQbxbU1ULCJ3RxV2BuSjmOaGAljjzanzMA8CISSB127ScbyZCzlCnxBCSJMogPUOz2KiqrtE5LuoxBUAuAGAqUUmAEePvH+TFYVG+BiA76HSHu48Rsx5JIAd9ft3jwusUdVviMinANyvbvdvAPhUQduL90MfRKaNhFZfnGBzKqrAh1UAd0RDIhM2x0MqphCZRGQbgHWrUjbJOjsqPYDfURdYYeQIIYSE6fAzPyGkBdinGA+fIVtE0emukoisoMr7vMHPCl09cOT9yeOMVFVF5BRsBrg8GMDrSnyNfH6/EV9FIlPpfui0yCQiB6LKtQRMUMxU9SoR+SmAGwM4tKG6d2BTefycqv4gUOyBIvJjVJnYVUTORTW+8h9V9b+baBdQ/RDOxN/NwRvIsGHUH5kXvJQQ0k26fhuIXDu6vg2EDBE+Q7aJLionU5Z6Zvu/RBW1AwCnFw6VWwFw23pxN4Bxo7I2OHXk/WHO56PrvjKjryyz7IdOi0wA9ht5f0HG9nxUItP1MnZRHgLguvX7aBTTDUfeS92e3wbw2yLyWgDPbiq6qZunZD/hDWTYsN9P5gYvJYSQEnjt6A38qkgJkWfRZTy21st6xTcSkcjueqmqHpczEpEHA9izXrwmqkiiRwO4Q73uIgBPK2gnUGkB16jf/yQzyxtQze62wa1MO1dQzXoPVCO4zin15dH0fui6yLTXyPtx4xc3+FX9f++JVnE2hspdBeDEjO1ZqLK4fxLVF3ohqgzyDwbwYlTTCP4hgF8C+P/GORGR41BljJ/Idffbj5FMSw4jJkhbMLKPEEIqOIyIEEJaQgHtxvjs47E589soOwF8CMDzgyOaPPYdeX9hwP6iMWWBSuPY0G4uDQhWk3x5HI8G90PXRaaFICL7AnhovfhhVb10kr2qPtVZ/WMAbxaRDwD4HCoF8bki8mZV/V6DzSWEEEIIIYQQQnqBAmgve3EjfBtVEMkss9aPBr/kAmaAzaAZANinRV/TULQfui4yXTHyfs+xVhUboWiXN1Dv4wHsUb9/+yyOVPXCeuq/j6Ha348H8PLZfPZ/iJeNlbBbw1iKDP3++nvJskT49P3aQgghpJswMowQcjUKrJeNzDlXVW/UWDNUbwBcnX9oH1T5i54I4FgAbwDwRyLyCFX9flN1dpGm90PXRabRsLLrZ2w3Pr9oolWMjaFyFyCfuT3CJ1ApjnsCOGKcUT1u9Lics1vc+rbKGzUh8xV+KL7MxnJIdISQDXjFJEOAz9uEtEeXIplUVQH8AsB/A/hvEfkggJMA3A7Ax0XkcFW9YpIPh9Hgl1zADLAZNAMAl7XoayxN7Yeui0znotqhewM4ZJyRiOwBYEPR/M4sFYrIIQDuWS++R1V3zeIPAFR1t4hcjKqN+87qDwDWOnRSkn6yMoBe/7IKP0sSVEUIIUvBkt7KSAamXyVDRhVYX1t0K8ajqqeIyPGokl0fAuBJAF4/pZtLR97vN85ohNEJzC41n12Oaoa6bQD2FZFtmbxMk3yFKd0PnRaZVFVF5DQA9wJwtwmmdwKwWr//6ozVPhGbP7pHZ5WbiIhsx+YXfems/hTL27kmPisFZbqRa2/YSFtqEL+7xhmC6EqGAzuXZJ4onylJz5jXb+3e83VbdZc8y/ee7l97TsbmjGr3wfQi0zmociNdA8CBAWHopiPvzxz9QFXXReT7AA5FpXvcGMDZJb4KmHo/dFpkqvkwKpHpVnV41hmOzWPr/+sAPjJjfU+s/39bVb88o68NHoTNHE+nzepMFZxdbomIdH47/EPAYCgSjLp/82yFPj4oUXQlpBwGVy8fFKbIEMh1p+b5fL10z/IKrHf/5jE6zGzfaQvXwtC3UAXEbANwBwBfmVDkziPvv+F8/g1UIhNqn2fP4Gsapt4PfRCZ3o4qT9E1AbwMwG+NfigiB6NKSAUA71fV4gzwInI3VLPAAcEoJhE5UFV/MuHzGwD4h3pxN4ATS9u3iVJkGjBWVGLnt31CAtKSPFA3EdGzdA9KhJBOw0em9qHoRErgubncdCkn0xhuMfL+wrFWkzkFlSAEVIEnrshUJ9x+0MgqLy/0KQAeM+LrXyfU++CMr2mYej90XmRS1fNE5GWoBKaHi8h76vc/QzWE7tUA9kI1TvGFtnw9hvDJta9c92kj4bcCeGewiX8sIvcBcAKAzwE4C1WS7wNQfbl/AuAGte1fNZGZnsPlhk1EVFqWmc7awN1zS3I+haLilmNXtEJrwyPJ4GEHvb+wk1zB3dAfmMycdAFFtyOZRGQFm0PEgCoRdgknAnhB/f4ZIvJ3qnqlY3cUNsWcU1X1LMfm3wC8FsAOAP9LRF7kBdiIyGEA7lsv/gzAfxS2vXg/dF5kqnkFgJsDeCqAo+vXKJcDOFpVi8cb1nmTNvz+h6r+aIrid6hf41gH8NcA/qyweVuohss14Yn0lbXM4xzzy4xnWXQAT4gcooDUqa+TD+6kY/CInD/L2oFf0s1uFQqYZNAsaLiciDwHwBdU9QsTbPYB8AYAR9arLgbwHsfueNTBLABeWs8UvwVV/ZqI/BuARwI4CMBrReRY1c04LhE5CFvzHCV+al8XiMjrADwH1cRox4vIo0dFKxG5DqqRYBuPyH+pqskggyb3g0cvRKZ6Kr2nichHADwDwB0BXAvV7HOnAPjbBiKEjsJm1vdpEn6/GcD5AO6OaozkfgD2QSV8nQXgswDepKr/M2P7trB7iL3FESiSzEbpNXsZBJihRpukwyz7f40Y6FdFSO8ZwOWlNZZFGGD03Xi4awiJsaDhcvcB8CoR+S6AT6HKV3QhqmwP10elMzwKwHVr+90Anq6qF81Q53NQaQUHoIoKOkxE3gHgIgCHo9I3NiYJO0FVT5rg66WoRkvdGpV+8VUReQuAn6CKhHoGgJvUtp8B8KYxfu6DFvdDL0SmDVT1AwA+MGWZYwAcE7D7EAp+FFfVbwL45rTlZmEZhst1TUNbmuFpgf3e/z2R38g+ipz2Pt3HQzYRADt2HegbkePYdoj7eOw3xbKIA4tiWUSJIWzmspwLS7KZnWZZI/9Ida1c8HC5W9avSZwF4Bmq+olZKlLVH4rIUQDeB+BmqFL+3M0xfReqkVuTfF1a+3o/qgij2wB4pWP6CQCPU9Vdmea1sh96JTKRCtV8JNPSiCJzYn2OjyJD/Or6tk3e6dW3c0o6/tzmiRnL0Amd52FUItZ3TeDvG0twCLfKEMSNrm/CEDr1A9iE1uC+IX1iQSLTUwA8AMC9ARyBSvS5HqrJkS8D8GNUs8F/CMBHVHVnE5Wq6mkicntUkUaPRSXs7INqRNQXALxNVUMJulX17HrCsmMAPAHA7QBcB1Uk0mmoRmWdqJMfrFvdDxSZekrupJynKNJ3eqYdFNO37eyaqBM5pzrW5IQutU8HEBNXtAW8NJNClvXQ6boo0vHmdb59lq5/3xEGsAlzg/tqyVnA96+ql6BKxj3zjO/REVMj9lcA+Lv6NWvdu1Cl7XlzYfnG9oMHRaYeoqrY3aOf+7rUsXXp2K6UnnW+2xpeMwRRx2ORbe6ScKddD7Vy6NDuIyTEEDpwXdqGrgkgHWtOQtfb16NH6TDatYfaJaDrx3lX6cBwOdIiFJl6iIKzyy2advOWtHO3aquDXPKQ1lhbSurumIg3zxw4VrhbpGjSdcHGE+T4IFnR9e+O39N4uiaSROhSkxfZlkUKIl0TLrp0THh0vX0RhijAke5BkWm4UGTqIwqsMXFGMU10kBZ9TezSDGnzbEozgkzZubNIka61fRxK9D6/L7hLSaf7GGllWeRxM0SG0HGM0LXtXAZxZdH7fGnFs44d65Yh5CkcwCaQFqHINFwoMvUQBbC2tuhWdJMOaS8hytvbr2inpuouuRfNU5CbV1XzFWPmF/20yGfRREzr+INx5Bjgw3036WOEwCIjWeZ1HM/zfJnnMTC//Te/jVrkta1r19WutSdH39pL2oPD5YYNRaYeEpldbhnom6AELG8+nraqjvmd/lxpc1fNK5KuLXGtf5FrMWSBkUsl+5S3gOWjS52zIQoybW5TWwJMW22e5/c7TBFx+KJsKV1vH5kvFJmGC0UmQgghhBBCCCGEzAVGMg0bikw9hYm/fboe3TSv9nnVRGZrK6proVFK09NURFf3tzv9vrvf5q3oPKOx5vTrqhed1fVfdrt+XS2h6/u8hKHmtlnWKKCut8/SZvRO3/ZFUs98qqnq6ti1rWvtId2CItNwocjUQ5SJv8N0rXM0N5GpxYoS1w0dik35zW15RGxravdRKJvVT7+EUb+urZXN89K9yFkcySZd6mT1MW9OE37aFcFm99GUQNN1Maap5nV9O1O//Tvv+lZ3UwxhG/oEd/dwocjUQ1SB3bu7cVp2aZazUubb4ZxXPc0cH90XIVoSW5qa8S00e9v0eEJZl4SxZRHBIn7b6lxEtoEPy/1lCDlxuiQydU3EGYJo09y+mN1R10XErrevS/VEGcLMe8uOgpFMQ4YiUx9RYL0zs8v1P9IgQmvtaa2z261Ofnt+5pfUu6TcXL8HsyuKq7Z+Slx0TOS0olfps2muPU09885TQOratbZvdKmf0/WO7CKFnkWLOn0TcRYppnVOyGtEZOqYqmjdMvqJLALmZBo0FJl6iEKxtqhIpp71SIYQpVTmt2ORLguMXCoTh6Yv45drZ2heefvms/+8zS7azoLLnFfPWsFTbFt5myJRXm2JYE3WRdql63lz+ib0lNZdtp3zE3X6JuKUb2dJZWV1pXXPp0ybfvrut/uVk1IWmUuQtAtFpj6iwNrCIpnmczVYtJbVLcGoHUfzjehppowWiDahI7alKKXFClweW/fGEAWu0jMjGTHZkMBliQheTUWhRWhqaCMZT1sJkbvUke16hE9pJMn82teO39JybYk6XRfTFnpODXRIZ1fqCdO19gwYBSeyGjIUmXqIKrDekZxMIRbYh5lnzqjmBKSI0exigVt1W6LDvCJoCstFyqTiVT5arCmBqy2BZr4iU4FAGMqNNf1QOF/ALCs3dd2Bekq3oYRWRa8loG+5k5ZVDGpT3GhPVOqO0LNoEWxeos18o7NKCpXV1Ujdrp95KVHzqYbMGWUk05ChyNRHFFjbvehGjGeRHZKIEFDmuCE3cxpqNtdcQC2JYq2JTC1FIEXL5WwiEVyhnD0tRRyVbmNTwkkqRM1HvIqUC30vheUibWnr0mvrWlbRaa6CUlN+OiQOdU2EaMpvqKO90PbNblN87Dd0XLR2HHfo/PALltQ1n3rCrpc1IopkUTAn05ChyNRDFN2JZCqNCGim8hZdN+G70EkT0SUhca0toaehyJzi7yAr4jQTuRE69hvaznna5BIhRcSr0u83ImaUCD0lIonXKSiJZIrsi8ZEnHmJP924/XSCRYpBTfloK4fQsohD8xJxGtufcxR+mhJ68vuvPRGnLdFmblFTcxwqGnPcklvel3rJGr+3wUKRqY8ooB0RmUqjJRqhxWTSRXu3oaTPTQyxKu+kzi6KxKI5ysIwmoisKha4itqXFyqsRal4NS8hqgmhCmhPrPKFnultmqPkarK4C2tpNBapWGxS5fY6k10SSbokDjVl437eJTHI+bxT31XHRLoyv1O7jftuoK6uz5DHG1P/UHC43JChyNRHFFjf1eGzck79o6aGhJVMty4rhZW1lLMnKRJSE7yVW1sUEzwi7cnbzCvqx/u+Q7mUCkSRtvafF40VEqtaEhGLRJyQGJQXI9MooPwwt6aiqNrKhRYbAjj9cL5Y3dP7iPjtI4sUjHw/mSjDFjup8xOZykSJttrXljDRmjhUvJ25HVjmd27iT6kgNyeBy/fbjABXUkZLhijN6TpW7rgdt6RFlBFoQ4YiUx9R7UwkU4iWOhtNRVEV5UOZ43CWEsHITUodEcYaEFtCkWGlAlcTglZTUUCluZNKIq0Kvhd/m2ZvnydUpSKYU64hESf3VcXysDUzlLUt8SpWd5kQlau7KXGoZJvmSWv9nDY7nAV1dSlnj7uNLbWvrTKeUXt15cuUCBVN1Z22JbpyPu2JHVvWcUN+IyJOW9FELUVNNXbN7HpEVAEUSspQcLjckKHI1ENUgfWds52VxZE4bVHU2YiESxR5KRSDIkbTO4p0mhtLBJ2IBQsUuAqHU+XKuVFARSJTXmzxvrmsWBWIUvKOo2RfFB4TWcEoEl0U2TeFp29OFIkc5v7MgOa8aymip63t7gN9bHOOLg1ra1NQaiQnTkORQmXti65svu7KKOe3of3X1PdbIg41tm8K9kWLwk8TUV6N5Wia1/DDQr/NVdZQ3SVVMRH1XOFwueFCkamPKIAZI5kaO6fn2WkI1dVQT6ykWIGQ0lTdVixoSvAqE18cP2t5m6Ihfit5wSNpS6FAY2uKiFUl+ZUiw9HcbTTtKc55lBH7QsdWQIiap+IQGaqXRqGVDbsrKUMBaf6URpTl/MQiuLxjq50n7faigKaPAImIG42JYG0JSMVC2eT9FRnK1VQ0UcmwsVj73AtrHuvH6+SXiJwNiH9jKpu6nqYirxoTmdoaLte1KCUKGJ1GoVhjGNhgocjURxTQnTNK7YvuEKw00IAS0SlczhSJDDsp2aTAkKbYWC6z3KbglYnWKU2aHRIzbN2B0yAU4WPFquIoIAnY2BX5um1kUES8Cn0PIaEsIMAVCFHinJtqnJdG/WTr9nwk/YZ8tFPioqX2Rv2U5KlrKmF8qK5m3BQReYzN5nMLCUhl5bpOE8P5SqOAQkJURkhpSkBqK+KoVDgrEsGaEhELxKHi4V65/dViJF0aNTV9XY0Nn5vjcLki4bspMS3CvEJgBnD97jKMZBouFJn6iCp0d3fjOWMdnZKfjKcvUtyryQ1Zi/iNCGkhoSe/ryLiRqjuUHZms2gELbe1kSiWgNiS9ev5jog45nSKRPi4BMSqnIjjC1P5KKUkoiKSe6pEiHKO68BREyIRnhpKbh2quy3xqqVyxbMkltgE2hNhkdFOyTFachwVRK4B0SGTVmD1RM68n7nRkIAUKVMitsSEqUjdebGlTKzKOWlOQGpEMGrKb0AgLIoMaspvJIqqreF8DQlwCZFefOm1pCnRq4kynpu+Kfw9a+6sqDIn05ChyEQIIYQQQgghhJC5sd43IZCEocjURxTArMPlSokMG+t6lFJoqN70UTVpZEE+Csh3lDjOFtFAtFOy3YG8Ph7ZyJuGhuG5Q/6aiIgqiX6K+knClBw3NvIrEsEVGfIXGAqX7uOCqCTnV9HsEDvHsReNtWL2jTekrm/JfyIz7+XKVOvyQyYjfhKbgjKldXWJkmFt7imfD74r/HHai+Lb6qlkny/yeb44J1Mgp1A2ksl5ZJpblJKz0ransZxHnkkTUUmFEWYluadCfgLb1FTEUSMz0JVGEzURKdRmFJWlZOxTcRRVYbmsX4oe80LBSKYhQ5Gpj6i2IzLNs5NQ8nRcMiNeJPmKW256v0VD6jybpOOfFwtiSbNL2udsZ274VEQACeS7cYf8lQz3ssdNoEwol5InVjYxNM89Juw+d2xKhCgvL1JOzIgIZ+45JhOW6nKhU9N01qzfnokdgCdE5Yc6lozoDCWVd1hpaGhe18kdf94vrqEhbI0JUfkhdX2jiaFwrk0i4pQJIDExKCCCZUSRYgHJTKpR7Cf3PYS2qUAccts3/TY0NtTME0ki7cuWcUxK/DQ19C1k01RdBdeposTkc7we9v/S2xmKAhNIL6DI1EfWAd1pp+vKsMhcGE31PkqShRcKKa35CSXkDogFhiT/TkhgcEgEo7wYFBKvIsmjC5KVW3HDs0keagPRT57fRHjyHoJCglZm/3nbZCv36l4t+B48ct+ndx5a4czbf2lqcs8oS0ly5qZyHuWEnoiI49msmH0aEZBKIpk8saipSKsIixSimsgPJIFkd149Vpxyj1Hrx/OdCFpWdHLqbiyr6uwCV2kfsCy/0vQiSUy8KhWrCiKFCgQkX8QJ7IucmFEgnEXrbkRwKxWHSsSgpoSfJsSrSLlQ0vE5Ckol14HC69hChXhqJyEYyTRcKDL1EVVg15Qi0zxJkmYXUDr7XFNiUIHfpFNamvi7rTEuiQASicQJRDIVRPj4w6mmF0ncYYK5yKqAcOYKXpEhdauZMl45W5cbRjW9ECW2LfD2V0DNsHV5D3t2nzsPtZFoJ9uJjzxPNyZcFAlRk5eBoIAUCWYz+69EMJrnUD2PJiYVLSXUD8zYeB2WSB9mJSAG2XVe1NR6IpgH6jY7PSI6hfplEVWsgFDdoUgcs+gOl7M2+e83NINaRIhqSUAqjRSy7SkbwlYm4kQEraxYVSIOheuesi2eTanQ05QQZTHb3dhwuSI1f/oiAAqH5lHR6BIKYI3fyWChyNRHFMC0kUzzpIleX8nQuGjdTUQuucPlDE2JTE0JXEWhEG5lpq6AX/sLfChUw6l71XZ2C8Qq77uzgoz3QJhEOzl+bDnnOE7EliShkXPDTTp0npphHxq9upNQCMdPpnL3sLEiWD5KyXMTym9jbVpSnUqikiJl3FMz4Ge1RKyydTuVhy5Tke0MXKjmJTJ5fQ9Hc02wwmcaQZNuQNJHDXR2IyKTHzWVaZ9TIhLIaYnYNNYvCDgKDZdLOs2zl6lsJpepVppF5/EsF8nUmIDkCWW2XIEYFBKQPJsCEScUyWTDH0qEKc+mMBKsqExTQk9WHc/X7Zebk/BUejFpKmsIRY7FoUz8PWQoMvUQVYXu3L3oZoylkeFxi45kytmUDo0rqTsS0ZPUXSgyJZ1JT8zIRQoV1h0Rq8yDpUa203bOve/FPnC5oSSBaCebuNr79TwzpM6NQIqIQ3YTPBEsefB1omEStyUijvfQkBEngWS73I72AqNhmhBxIgKSjVqK1mVtVu3xGBCHSkUwG1lVNkRx+jJAsC8UsMkJRv5QOGPj5Tkzx/FaIKrGiziy12Mb2bTmlEkOJecLtnUVJUUvKONRNBTOKRcRhyJRSkk5z8ZGJUWEKCswlApISQSSd5Bak7xNUldhlFK6/8r8ZE/OUnGoCTGoIb8uJXVFPm9sCF1DNkmZ6Yv0ckjdkqNQrHFc4WChyNRHVIEOi0xulMq0RFwUC1Gzi0whIS0igETqLsnWGxruVRhx1IDI5O6/1enb5/fYJ0cG+dtkl50OfCIOOTdGK0S5Q+omi15uZ8OKBZ4QlSZsSY1SBcnxY4rYfWFzP7mOPWxHNh/tFOtwTv7cs/FFnJJIoenLWEHJa4/XPisqWQEJSIUeW5Xr15YJ2AQ02OBlth3FMNJp8AWjyeJ9ZAibG8xhbNy0Zsb3mrNv8kPd0jJWePJ/s7DHsSdwTS4TEn4C52bEJhYNY5ZdAckuR0Qcz09AMMrZNCUgRUQcLwlKNtIqUKZU6EmikiJClFnhbFNrYlCR34jK3ZCfksgrV4RtS0AqUPxDfqcv4vuh6DEvFBwuN2QoMvWRdYXu3LXoVoynEZGpzIcXvVHkO2MTEtIiPbFI3W7ulZzIVBrJFAlZKChj9Q+vh2wfqCNiVYkfb98ERKbkO/eEvMhwPtvZSEQc5/sOdJiS9njjg0IRUTkb79iL2GxlPfA1eE+NaefWfO4+sEwuk1r4ZIfLOWUiUUqr5jt3BSSzbtU5thKbRJhKy9jDrTgaKyNweSxSZPL6MPZhN+nHBiIT15zoOyv0eBFH6+v22uHYmP21O9SrMse+0xkvyd1lKe0nhETigIhjhTy7nZEopdAwNzeSqUBkakpAst+nKwbZqgJ+UoXV8VsgMoWGG3o7OeM3Ig65dQdEnNwseiFl1CGwj1OhrED4KU5MvjiRyT3W22hLm35ICA6XGy4UmfqIKnTnzkW3YjyNiEyFSZnmJDKV+igSwbwcQtn2OesiPcXkF+2mIpmskOJlhi4RqwJqQZLLpjCKKgkLSU2wZjp03vediWRyHzST/ee1zz6MBlQcT4iKRA0kZUqinZxOtB265XhZN51vG2VT/LwfEtOMxfSnlC8yBSKZtpljaZtzDCSikjEpKePb5IXvyLC7SIRUhLSvlo+q8fubRgyyy04h2zf3bHYbQWHN2Tm7jSNvqK0VlWxCce+ciqQsK9nvJdFikSFrXrSWFW2SBOjICz2euBYZ5taIgOTaBASaSIRPY0JUpj0RgSYSTRSKtCoRmQLikHvgTC9WhYSftoSeAuEnJNiU3zjzNgVlykSmhpI0UfSYGwpwuNyAocjUR3Qd6x0WmZrJyVQmMkUijELta0RkysdluKJTyc/KkeinApEplKC7LfEqtG+ch4qMYOQKP4G6k/1X6Me2L2lPJELKDQMyft1oJ/vgWyBEec+idjifY5NMohewsaIT4E1klxeHbFSIjQgB0sOm5DmzZIidZ+OJOJGopG1mB1pRabtXxihcnk1EZIoJUVuXU5Gp7N5h8yBFRCYvRD+JODI2u5xOtLXZ7XSQk2PAnbM5v+1JfzNJ9p8/9t3bSUlgRiIOOWXM/vRtJi975TzBaD0j2qzvzotM/pC1BgQkpz0R4SfpaEf8NiYyBYSKSKRQJDN+aLhcxiY0XK5QDCoRuCJCT9HQt+n9+HUHBJmWRKbWhuF5F5gGYM6mduHeHS4UmXqIqmJ911WLbsZYpDQKaauT1upOLmhNiE4IildGPCsWxQqEKDX7pljgythE/KqbFMcsB/yIn0Bm8nJhJFM6rC1Qt7cJSdhKQJjaVhAhtebY2PxPVpUAskKU18kSeycJ9DW848SKA55YlUxkZ0U7Z7MTLS1yWDu7Jsmtk8wUmJaJEBqlmgyXS22sqLQjICDlylTltq7b5px31rebe8rsVCtElf4+ERGQ1k2nyos42mXW7TZf+LaVtBOz04hKK378nbNuK7Yjs+5dIo2byP4KBXwkw6nyfpJcVBFxyLMx4k8iFgFYtxFHnqBg0lSmQ+HyIpM6QlSRgLTb29DJ7XMFpCRMrkzoSYafBaJ1kmiiwkimkIiTCFqRzPj2wE6LZA9aON9DicBVGpmTKKxlQlTRkLqAINOYGFQkRBUIRi2JQUVtIWGYk2m4UGTqIx0SmTwBpJHLRaFQVRRFFakrJAa14yeW/ykSKWT8lvrJ9IitmAV4UUCB6bMC0Vi+WJWEhQT8ZoQfb50rcNllJ5rNdlSTpDhO+3YHFIZchJRXzsvPkvOzzfFrVRzHxnboxBlSZyO0VrY7VdnkzAXDdnzssZ+PNkmjRBzhLBGmvF/cp79u+cGAZv8lumhayApIdhlIhSdfiNoa8rbdsVnNiEy2/VGSpNlelJLpKOxyIo5WjZqx04taMaT9O8evnV3OObT8423aur1ja+uyn5jc7D9nu634Y23WHIHGlvEEalvOzYtk/LhRSTk/nviSlHF2jq0rEO0UEowKRCY3V1Eo2ikvtmSHlpWKQxGBqwkxqEQcAqD2QC6JFCpRZceVy/kJ3e+mj1IqFlJC2zC978aih1oSiBjd1AwKdaLRyVCgyNRDVNextvvKhdTdVqLWtKIGoqEAiPursrFpSZiKDcsr9JMr5w5VCcxnnivjlQsIU4kYFElm7gk0kWisXF1uJFNg3wQimRoRqxwBKUmU7uZkMt+DF2lly0XqMoKR7PbKGOHHEZkS8cpLcG7uSN7zoRWnVmyUl1MmtUkfalYD0VipLma3IfKw5B37dtkR4ExfyBuOZqNz1s0xEUlzEUvqnR5bSc4ox8YKUdZmxRseaZbdlDhmf+12DoJdtq/riH1rakUwKyI6ldu2BPr4bm4n0z6bowkAdttIK3NM7HYmnbVD/HY7Ao0t5wlGdt1aoIyNQIqIQ5FhbV7EUbIuEWgCApIbIWXFltRN8uWVCEbegZPUHRGvAkKUOzTPbsP0kUx+wu5A+0JDyyZH/cSinwJCT5HIFNim0uFpgXJZwaMJH0E/xb5tmUD0Z8xRd6KQKEylKBjJNGQoMvUQxTrW1n41ZalmRJu2aGSInee3NJVsQXsi29CY8JT5PouEKa+cF5WUsykUuEIiWEHEViL8uCLY1s5vkXgFxDI4Z8QqdwhgOgVY1sadwS83VA+A2CF0AXEo8etFOwUELmw30XYRIcqKYF4UlVm37tgkHWIv6sIKPUni4LRMEhDg3HVtJI6daQwA1ER1eZ0WDUky7RCZ08A+Sq4boWc1IMC5KV2MZzvMrVq39cva5djsMl/wlWb5KmcYlB0uZ5e9clc5IslVRgXz8j/t3LV13a7ddjkpkohKnhi0y0xW6wpGGZGpWECy0USujVnhiUFWRSwSmbxInBIhKiIYBYQpY5PUE/UTEVuSiKNImemjgFwxyG5nQVRSsdCTZqd3TPI2rZTxbCLX9KbqKhqy1sw9x+bZawoOfesejGQaLhSZ+ogq1ta6MVyumJZEpaSahsS1EhEsFiFVOiwwIzK5SWciItPsQpS3zyPiVbYMADFikOsnEaICAlfi14vECdhEIrasHzuM0RGQ0jxOeZEpqcexcaPFrMiUDJcLtM+xSaKbHBFMt219APQFo5XJNo4wtb7dROJ4IpMVoranNivbTEfblFnblZZZNeLQtm3pA9VuU9cu585sBYXtzjZYYWKnsbnKqXuPbVYASf3usW3rsfQrq67Byf/kfL82l5PN4+Rdt+x1wB0SZh5SbW4lIBWevOFyqWC01c9VNnTItXHEISMO7PRsMgJStW7rshWQdu9ytttGHDk2VlTyxKB1KyoZP544ZP2oU3ciBnl5kXZbsaVAMIr49USmJgQkeEJUgcjkDpcL1B0Qg9JIpq1lIsKPesp8U0KP5zvbvrx4lYg2BQJNLEop4DfQ2Y6JJIsbntaUiNNYJFMTUJhqDVVGMg0Zikw9RLGOXeuTh8u1FRnUGC1dU4ojl6aupx1xyK+rpeF8oaGEJWJQmd9kO90oKiMwBCK27HaGyhQKXCGxKmPjiUPpMDxP6Nlazs1XZaO8tjlCVCIqmSgvTxwKiExptJOzDWadGzVlbWwk03avfUaocGySYYGuyDQ5amrFLbN1eTXgd5tjs836cUSm7aac/Xq3b0sflneYMtudfb7NiEo7XBtTd2SWOrNceteyW+UPR7PRTo4gY0U6O9TMEQKssOeJQ1ZAcrSqIsHI2njiUBJx5PhtRDDyIpAy0UWuTUAMCkUTJWUCApJjo/bLcqOdZheDEiHIs4kISO6QMOsnIAYl2dbLInwSQcYTDyJiUGYaQk+gaUqQKRGVikSShoSoUFUDEIPainYi84WRTMOFIhMhhBBCCCGEEELmhCbpAshwoMjUQ1QVa5oZLtezc7apYW2LJBSlVPC9NBed1VKeqUD7SqKmQtvtRkTZqKRAJFOmjNsex2YlEu1k67L5oCLRT3bZ8+Pa2HxLkagp49eNfgpESCXD8Lxoonz7bN6mtIzj1+Z68iKtAhFR69vtduajnxIbJwLJRkC5NmadHYYHpNFNdtlGQwHAio1AcmxWV20EUmpjI5n8QDqbQHzr56XzSpTMoOalhrGRSkk+Zy8Zt40UCthEEmvb4WlAOtQtyXnkRCmFch4FIpls5vRIlFKSbd0uw4n68fIOJXWlkThpJJON8PH2jY1ScvwmCbA9m7WJy1W5ydFEbmSJtfHqDgxZs9Emvp8mIoUCkUxuLrmCIWtoJ7qoJDqmPCqo2/mLQnVzKNlMdGpY4AJQMJJpyFBk6iWKNd256EYQS2PXycUJbk0IWqVDNRcqVhWITH7uqUDdmeF8iVAVbZ9sLef6sbN5SYFY5fhdsYqHN5zPqBdegnNr44pgVsBatQKSV2Z68coTomS7GZJoh415w/AywpRr4yU8DwhRiaBlhR9PBEu+XkfgSrTTvI0nMqX50iZ+HCY0QZSdbt0TopIRQjrx82qd8evZWBHHHe4VEINyNp6IE7BJhqg5Qo/uslPZ5QWkJK+PJyAFhqOFxCCj5JUIP+truxybgNBj1q07B0FOVFKvTIlNZDhaQDBKhKlCkSkpUzisLdcZLxVa2hJJhjmUa7kFEdIOFJmGC0WmHqJYx26KTDPAC1qrFO/eZiK2SqLibPRQSMwqEK+8chFhKhed5ftNL+/WZiVgY/144pW1sYKXV85tn7FZWXVDb8xigcDlilcBgWu7sUmSkHsRXEaYcqOorJ9AlJcnaFmBKCM6uXV7NrYqb1ZCu+mejV0VOYUi08tZ8jmK/cgW24e3wpSbnNksewKNLedFClkbVwzK5P4JlPESQiUijicGJYKRWbZT1MERdtxIISPQBISedZtoCo7Qs77LfJ6WsWJQTOgJ+HE646nwNLvw45XzI4WSgz9gYz+fPndRlLJoDj7HzZ/55DztA0MYfdEFGMk0bCgy9RCtZKZFNwNAF3+taac9bYW0tjZN61y/l64dAwUkm9CU4BWIztKSCC5PiMrP1JWWcYSUTKJ0N4LL+PHqtlFTJQIXAKzARmxtFZlcv0mUVzrWzIpgno0YQSuJ+nJEMbsuEbOQil6ejRW9ipK2e+JVMoTSE5kyMw565dwE+9aknU6LP9NUYpTaWKHHClHeGLukTGBmMS/ztxW0PJtE6JkcvePb5AUa18aIP1bEWXcifBKhxxFx1o1oY8sAwDqsGOS0z3zBiV9PQLICDTybyAxleZEprSty3wwkzc7UU2qTa8twaeea1OakNG35bk9I6ZZYNa8Jg4gPczINF4pMvUSxBufXvh7RngjS0Mwbc3oI69oDYcmDb8ivzHMbGqCovS0SEKIssRIlIlhe4HJtNCKCBaa0tyJYUsaJokrKODZWiHIFOCuURYSzrTar4ghcko/ySsU0b6ijHZIYEM6siOgNs0yi0MpmVsyNhysVnUIRFIExddk8OYGhUt5wqiTSxfWTF0VS0SZQxggg6+qIOCFBxvhJ/EbKeOKLFWg8EScf9ZMKMnmBpkjoce8Nkft4AV27D+UouE95lHlp5gedEt/lIkXkh6CSe39Je0r3+vzqynvtlljUtfZ0E2Uk04DplcgkIo8E8PsAjgRwbQDnAjgZwCtV9fuFPo8B8E8B05NU9WEZXzcH8DwADwZwIwA/B3AagDeo6r+VtM+jCi90fuXsLIsTfsrFrFzoeDNiTEx8KXiADfgNbYPjJ1fOFQYauodYP3mZwvs8cOMv2zVTtyVutbWy5h5d2oqka8bK+92+pJ8QOdbXI4dFzsYxEA0Mh0wEuEDC+IAAZ48UK7b5fsvykaUCYSR/2hwjmayNf3RNtIkJIM5QqWRdmZCSq8u7nyRiizjbLdYm9bOSOfgj1+LSTlfkup/WbY9Hz6aAOfaHyn7gb0bwKtNjpn9eiHlxbArat+5ckiLtS47bUPTx9DeU9n4YKvQTPNOmpS3hLHakdUv4WXYhapHD5UTk2gAeBOA3AdwRwC0AXAvA5QB+BOBzAP5JVb/ccL17AXgGgMcAuGVd53kAvgDgbap6yhS+tgM4BsATANwWwHUBXIBKe3gngBN1wgORiBwH4CUFm/HPqnpMzqgXIpNUT6JvAfBU89EhAJ4J4HdF5GhV/ejcG1cjIg8B8F4Ae4+s3h/VAfwgEXkrgN+b9GXH0VaGb3UpuqgtcQhoRtgJta5AoPHKeWVyN6bIJq44NolX10/BsKxQJ2H6ToHf0c60JVAmZOPNApepO1KXv91WLMjnu4kNl8vXFSljWWlIPGjq8avkauKGcNtgmOTj/EnlxkHYc94xsg9ifmRGPiokLRNon50hKus1+OC4wB8wY9cBsxw450sEEN+PM+Q0N3NmwfUQ8ETOPMk5XniylhRr6rCJDNOIPS1Mf36kuZRSm/Sc954pCupybcxy4JyP+S25BuW3M91fgTLuwbZ1ZdkwRsci8kOfEb0i10z3/mw3LPIsEBLKIkwvenlPtCV0KYrKr6kpYWzYLGIfiMjzAfw5gD2cj/etX7cH8EwReSeAZ6jqLxuo90gA7wNwM/PRQfXr8SJyAoCnqk5OviwiBwN4P6rAm1EOrF8PA/B0EXmcql46a9sNZ0WMeiEyAfhTbApMJwJ4GYCfArg7gH8AcDCA94rInVT1zBnq2WfCZ2OTIInIodgUmM4G8GwAnwdwQwAvAvA4AE9D9aW8fIb2XU13IpnKLg9tDZ8qFX9SP1YVmb5McUSPsfF+QW4iWsdrS6Qmu8YKHk11snwhJV9Xrj1e3auJX6+DF6jb+HG3oaDu1CbFlrNlInV7fpLYGKfyVbtvAnV7aX0iglsy7X3SvrKOtteeEj9JmTn+UNlWaoNlfRCe52/M8zpOSo+RXDEnj3rIR0TMsL4jYkaojKnb++nOClF+/NtWmzU3bxMm2kSEFd/v9HV7YkayncmPXSmxugPfb0S0Sb6HAoEr/7uBu29yayKinUf6m3N6EYgJZZkfRb0fPAMPo01FcGkDP1x55PwC0aiurJeiUst635yWBUUy3QqbAtNZAD4B4HQAFwK4DoD7oYo0WgXwRAD7i8hROsN0lCJyUwAfA3BAvepLqKKNLgRwOIBjAVwPwO+gOnx+d4KvfWtft65X/Q+AtwE4B1VE1rEAbgLg/gDeLyIPVC+ZIfAeVNud49oAjq/frwP450CZ6USmWsT5yjRlZkVEDgDwgnrxJABPGIkG+pCInAHgDFQCz8tQCTpFqOrlhUVfVtd/BYD7quoP6vUXiMjRAPYC8BAALxCRt6rqeaVtrFvqh7zPhekvBkWXjwUO9wKczm6kqkCZUgEmsclEBjUWrVNg40WxhAQks7zqDdsxRp4fuy4i/FixJWLjfUtWbPH2hfVTVMap3LbZtQn4sesiZUryQntT3NtyqwGbpG6nTHL8BfJfe53+nE0kDVHEr0dkZrZIXVm/hTYR5im4WRqJIY4IKYU2yboCP240zHrexq7z8pvn6vLKJHWnJlg341RdP6agnVTPs7F+3IkBA9uQ5oJPHVkbvy4ryJjPnb2T+s2LQ2uuHyvAOTaJSBcQ4AIik7Xx6k5sIoJbMnQ03z5fwJxe7AtFcIUiwWyEjycGZRozply+jKk7cG2OCFNe3rXcsGgtHn5oL0qOwGXa3NwtaIE3swGhWJgYp6g0hb9R1f9wPn+TiNwLwEdR9e8fCODJiKXXGcffY1Ngehuq0U0bJ8y7ReSNAD6LKqLpiSLyHlU9aYyvl2BTYDoZwKNU9cqND0XkdaiEsyNRDQd8BoB/tE5U9dsAvp1ruIj8/sjip1T1h7kywPSRTJ+uw67C4wUb4EmoRBoAeKEdbqaqPxCRNwN4DoBHi8j+qnr+vBpXi2CPqhffNCIwbbRPReQFqESmvVApk387e82ZXy5mryBGYbKd7E2xUGSKCDS53BKR6tsSizzfJUJPJNLFjRIJRKSkWV9KBJq8OORF2TRhE2mfFX6AVGzZVigG2XKp37SM9bPqqDipjVN3QAyyk5ZZP54gYm1WndzRdp1nkwhGAT/WxhWQAnWL2Rkrzt1xxdrYXNfOF279OjmzsbJqbQJ+AttgVR23fYFhT6mN1760nOMoYNQSkaFRSeok01GMDKH0ojmsWuAmHTd1OcHKScfVlFnf7fmdXI/XPicvOdaTuvJ+7WR3vt+8TYkfW8aZeC+1CQhla07yNjsRoOdnzTx3WBs7ASGQCiDO15sIUbud7yEVg1I/u82BEhLXCkSmYhuxNlsvOL4wNb1f77kyvSxERLGAgJRZrurK22T9etf0pJ7A9dG7/CW3j/w13paJ/Wgee+puxsbg9hkWJI0MkAXNUv58Vb1kkoGq/qeI/CmA19SrjkGhyCQidwDwyHrxRwCeZaOiVPWHIvJMVOIXABw38n7U1/4A/qBevALAk0cFptrXxSLyJABfR3XQv0hE3qDeFK8xRtMVhffBtCLT3qiih35fVWdR86bh4fX/76rq18bYvA+VyLSCagzi2+bQrg0eis1+9/s8A1X9moh8D1UI229hRpFJEftFYVaKT/yCtpVEF0XEItePqaotwcgvERGD8nXnbCKRQhEByfczvYjTlIAUivoxNttM79ePFNq6bMtU6/ICkm2zN2N8YlMgDrk2GXHItQmIONu2Tf4cSMUWW8azWXVtzD5OJ0PDqtlhK5ll3ybdOYnNdmf2NrNTV7abnDh2BwMQU5c4O9CW8/2YmeMCX56s2jJ5Bc71a3P/uOFieTUym+g7pFQ5BCLYk06UG65joiOSUBwnD1ZAAVGjKOiaE7Vu/CR+Aeju3WZ5beKy50cdNcOWW9/lbee6sTFlHAVk3dTl2+SFsjWzbs2ZXHfdqCJ2F3vC1O4Cm4hY5XwNWUHLLWMELU+ISvw4z0VWePJEJiuC7c5EXlU2k4UpwBHKnEiXJIrKi8ayglGkjKl7xXk2TaKdvH1j2mx1Ru+ZJ42QcmwCEVG5MuN8jyKBIZSxHwCcH3YLRLDEhzfELhJZZWtzvl/rO9SvSZSz6fsnJE5Dk1JOV2dGYBrhX7ApMh0+Q5VHj7x/kxWFRvgYgA294M4icjNVtfmPHglgR/3+3eMCa1T1GyLyKVRD/24A4DcAfGrahovI7QDcpV68FFUeqBDTikzvA/BYAG8RkRur6l8EGncUgL9Q1TtPWdcGR9b/vzjB5lQAa6jGTt4RM4hMdZLxbarOPL8+d6z/7wYwaSjhF1EdNEdOsAkzF+W3rSgleFE1ZrlFfasJUamtfEZ+qZQ0P1BefInUnQw1C0T0tBWB5EYKBbbTCkQRASm1yUcpeQKSLeeKTGZdRECyeoerL1i/ztU9IhhZ8Scp4/i161a3O/svEXHyNqs7HDHIlFsxgowVfgBgZYcRUranG2FFJddmx3ZjM3m5Wrdj4rK3bmWbY7PN1uXYGFVOVq1fR7UzItOKo+yJCesSL8QsEaLyNsnHhZFOofk0EgHJCxWabKM2fAfAulU8HL/ru7fa6Fqaz1ONH93l2Bg/67u32rhldkVsbN3p44/u2rrt6ztNW3Y5AldSxtk3u6wQ5dkYgWGnI1RYscqW8cSrxCYxSdZZ0cmz8YQoWy4RrxwBKSkTEZlcm7xYZXfPqinjRQGtmmiiiBC1oul1wdp4QsqKWScBkSlikwwldIUKu52Bus2lzJXBAwKNXeddQdOIqLzAFam8JEopJDPZqr1Iq0gfIHC/KOkrldyG2sqHuAwsKJIpymUj768xg58Hjrw/eZxRPfrpFFR6AVDNVv+6El8jn99vxNfUIhO2RjG9e4JAljCVyKSqjxeRVwL4PwCOE5GbAPh9LxGWiNwTVZLrX5+mDuPjQGzO1jY2k7mqXiUiPwVwYwCHzlDfVwEcBmC7iFyGSjR6L6opDK8aU2yjvnMn2ADAD+r/e4vIgar6k9J2FtFQ5FPRBbtw2FgTZboWpVSSJDsSTWTFltK6c/mMPJuS4WieTRIpFBqyFhGMVsxyPpLJE8GsGOT5sTZOMExWZHKCWNLoIscmIiCVCEZWl7BCEJBGHHniUJGAtCPdiERU2sMs74iIQ56NEYN2OCLOjq0TkaxYAWnHno7fres8cWhl+zXMcjrhiWwzdTtC1IqxsaLTyoojINloJ2ecYLLOOe/sTGfusDu3i7TFyeTPxxGaJSyfICh5lElEp1RhsOu8KKX1dSsypSLO+u6rzLInMhmbXXb5V2kZIyqt70yfD9X62Zk+yqhZt7LT+PWEKStE7XS2e6cRoq7yRLqt61a2pzYrRnha36YTPwecobbOT4tipmF1h7vaID5HiMqNOF1xhKmIjdXkikekJuE5NvKvVGCwO8yTW7baeNFOiWvTHG8oYTomrMzGtiYSb2nLWMELSJ9n/OT5+Win/E+K+egnr30RMSit2YlKSgTCbPNidbUkRJX8UN5UH2vZUAQvLYvjsJH3PyxxINXD0W3rxd0AvpYpcuqY+r11uTzZOV8TEZFtqBKfbzBVEM/Us8up6vNE5AeoElg9DcANRORoVf1V3aAjUIlLD9poI4BvTVtPzX4j7y/I2J6PSmS6XmFdwNYoo30A3Kd+PUtEHuGErI22MdK+Da4HIBGZROQ4VMm8JrJNtvOCNoYuXatK29JE2G2puBaZldquyy1762LpWyKRVl5dk8W0UPscI1uXn1h79rrcxND2+d8brRSxieRXyuQ48gJU7DA3Ny+SEZncvEN2OJoT1pUMUUuGiAWGo7kRR/lIoZyoZAUl12ZbKiDZcq6NFaI8kWnVikx2uJyz3ZKPUkoFJEdkSh66Q2d5wKbEjReNYE2cIWFJr8qITI4Al0Q7raYKg6xtLaee2GeHLTp1reeUCmefr9vhwomF04kOJJi2wp43JMfaeH7T7Nt5P7rqdNjtYZsIhE7nN/m6nWid/IjJdCr6iBBlyzh+7SXS64xF7tn2XhXxYzUm755od5c/tN8KDPmoGu9HqDQBti2T81r2POPaRMSrgN9I+1KbvIgTId2E/HdXKgaVkAzD69LDPWkOKf5ubyQS6gi/VFWPK6qh4tiR9+OScOe4MTajoH4yZpa3UUbFrFuNflALVjevF9dQzSZX5CvIwwDsX7//uqqeOsnYMrXIBACq+loROQfACahyEn1aRJ4H4NkAHo3q+iUAzgTw5wDeXVIPNhN+A0AuPGvjJ7y9J1r55Y5HNcbw2wB+jGpawzsDeC6qhN2HAThZRO6sqr8Y08Zo+0ramDLtWbkkolTkpj0vYr84eeUiD2Wz1+0mojTHlXeYpaHZ+brtuvxvmf4QGPtwvB54MEoTcAba5/WFTFXe0IBIfoJcXfbh3rNxOySRTotNsusNrbC/jFt9wfvF3f7a7yWYNj812zIA0rwva84BuMsKWjaXjfMQvttuhBN1EUhubTv50/9GD6xHZsD1cmgkSZ+dqJptW/eFrJtIJifKhpFMo24YyVT5iQy7M9vkjCNLhsvtcvZNIB/UepLTKm8TyfVk8ziFko5HZtEL2ERm/bPX/cjMgN6ZEMg7n84WmGmLV1fJzGwebt6hzDnuXVVLnk1CNgWP05EiMZumRiVMv2aeQg9FJbJoROQeAJ5SL14J4FWFrvYdeX9hwP6iMWWBSj/YeCC7NCBYTfIV4Skj7/9p2sJFIhMAqOq/ichvAvgwqoRQn60/ElRJq/4CwAneULouoarvRTUkbpQrAXwSwCfr4YHPBXDL+v9xc21gU5RcsQNJ9NyqAqGnSTK+gsjTyDjuUrEl1z7PcU7cANKHp0hOJj8/gbFJfnUsqzupqyS8vPAnu6QPEPDjhtVnu/5pRzf02JYbTuDZeG4yD/zew/z2QCfBdlq8nExF044nsz95nTW77HQCTSSTlyMlGVK3yzn2zVCZlZ02J1N6z13ZsbVD7OdkuipvY4bdrTMn0+jKqW2Sj5mTaXOZOZlGbLZ+v8zJNL5cqY1N9G1tvJxMTSUHT3IyBWays3WH8i0V2thnRGsTKeNdodLk4BHpJyUn5Pk+8jYl3YaICNaUeFWUHDxA0WgCqmJlKCA2FLQDiMgNAJyIzQ7Di1U1FzU0jtHAkkg+o9Ffi/Zp0ddEROQAVIE2ALATwDunKQ/ERq2Mq3w/VEnANyJ5Ns6wFwG4jaq+owGB6YqR9+k4hK1shKJdPmOdlj9FFd0EAL/tfL7Rxmj7gDFtVNXjVFVyr+0raeeCEEIIIYQQQgjpBSrTv6o8yNn+cslQORHZC8AHARxYrzoJwCsb297+8LvYDEb6sKpGorC2MHUkk4hcD8AfA3gWgGuiEpcuRpXMan9U4xc/AOB/pvXtMLpB18/Ybnx+0USrKVHVnXWm96cDuKWIXFNVf+m0Mdq+Rto4j+kyS2dLKJqZwf6q4g61MDldvPDt2Hg04zffnmxkk+vX+1Vqa0F/RhS7nI84CqQkSQOQ3KFwgWgsU9AmybZD7oA0asrzG7Gxw+MiUwfbxN9rkmrfdnTXmhNxYfNdu7/IGpttjo2dtcf69WaXsz/uezY2GbiTGia1iSQZDyQUt0Er25wNXzF5VLyk4za306qT4DeZpW7bbrPsHFtJGSfXUzL7nZObyOaMsvmhnIzsYuoK5Yxy/dj8SvkvL83J5CWLyee0SqOUyhJ+ZSOVQnmcHAK/ZyXRTl4YXxLJlB8Hpcl4KieiJxnu5YXD2GGfjh8T2qLmwmCXPT/qhLHYct6QtWQoq4lccoej7bZRSp5NflibjUJyRhsmEZZ2F3uBazZSKGLjRSnZdc7XkNgk0UVemZIoJe++ZMJjvXuXjehpKkrJ3o9tGSCNUopEMjUVpWTXec+9ayYaOimTFnGilBybgoTTftTU5OWmhsKVRCm5NpG6GmrPvKKS5tEnGyJVbp3u7DsR2RPAhwDctV71OQBHayhceiyjgSW5gBRga1DKZeazJn3lGB0qN1XC7w2mEplE5OUA/hBV9JKg2thXAfhbVMmsT0aVWOpzIvJIVf3sOF9Bzq3r2BvAIRPatQeAG9WL35mxTo/RpN37AhgVmb4D4P6okpDtUNU0Fr1io/2XzzqznACQzEVwlrNhs57AiV+o9GTzDgXGy/lTzTaUvygZNZYRdeAM+QuM9/I2MxWZpreJDAH0ErUmIphTuZ1K2IpOkdnl1gJClDu7XIHNbjtM0Knbtm/VG6KYzGwX8ON0Cmy51G9aJpn9zsnCmto4dVsdwKkrEaIiycLNuoh45YpVZgiiN+JqdXWyjZt0PFC3TUTupCbCirUxftxcVKaMOzvVqrUJ+Alsg1X83fYFMgenNl770nKOo4BRS0TyNtnz1XYU3WQ2tohzXQ0kxbFJp9UbzZfk5coLNGmaqXz7PLFlPakr7zegv6W5iiJ5kQJ+ElGnQPhx/XpDzQJ+7CEQEZBSgSbv1wpKQCpMlAhGJcKPX3c7NpEhaxG/3rNTelmI1D25LeU2HpMFrTYFpKIhdaZMqViUrAs0hkPhuoZ0ZriciOxAlZ/5vvWqLwF4iKpeMb5UiEtH3u83zmiE0QnMLjWfXY4qqGcbgH1FZFsmL9MkX2MRkbthc0a8nwA4JVp2lGkjmf6k/n8VgNcDePlI+NRlInJ3AB8BcHcAp4jIU1T1PSUNAwBVVRE5DcC9ANxtgumdAGw8cn+1tL4J3GDk/aXms436ttXt+PwYHxvtP62ZJk2+6LV3SbQPyxFBKSV/oQ/9HpI3cVQcT5xKitnOWSI6RarORylFIra82mx7IjO4RGySCCmngblIKy8flH04juSiWnVuPOkMOHmRybYnIoJFbLwj2Ipe3r5IBa2CMq74F7AJ+LHrImWSmZMifj2xJSCU5Wbac4NsrA939idz7LvbOdnGKxOx8dqT8+OLQfm6sn4LbSJ0XGNqxEepTbKuwE8kV1so6bMX5JWpK5TfLTXJJsQG0jx1rhiUaY8fZZOvOyS22Pa5dU0WevxIHLvsPM9Yv5GInoBgZG28WMESccirO5TjyO4L0yL32GopL1Ik51HMZnIZoDmBKFt3i9FFuef9iMgQEodCIlNTUHhqiuyEIPNog8h2AP8C4Kh61WkAHuxM9lXCOahyI10DwIEBYeimI+/PHP1AVddF5PsADkWle9wYwNklvjI8deT921W9n73yTCsyraEKmfoLLwGWql4iIvcF8C4AjwLwThE5SFX/X0njaj6MSmS6lYgcrqpnODaPrf+voxK5GqOOknpwvXimGSoHVGM111Hlt3osHJFJRG6PKnE4UIXhzdqqzii/kSdhP+onUy4wHs2fyjW3AojMepkO35u+jDc0JDbJnxV6UovsqJNALRERLLLGihuRbfRFMOs3faxNorEc37n2eHWnAlJevHLrDohViZgWqDsicNlytkykbs+PvdJ4x54Vytxj3yx7QlTo+80E3kTq9vDaU+InKTPHZ9EmhBTXbztuO888uxHzOk5Kj5FcMW/CgoiPJDor4DvSqQ+ViQgpAZtIxIxdY20i4obvd/q63WFjmeicyD6PtK9UDMpFD0Xa5xHZN7k1bt0tRQ81ETkUrbskUmjFEwwy5covfQFRqZEoJApK7SH+MTPPFohsA/BuAL9VrzoDwANU9ZIm/NfC0LdQBaJsA3AHAF+ZUOTOI++/4Xz+DVQiE2qfZ8/gK0FErgHg6JFV/xQp5zGtyHQbVf3eJANVvUpEHgvg1ajyNr1CRG6qqs8qbOPbUc3odk0AL8PmQQAAEJGDUeWBAoD3q+ro0LaJiMg+AGScUilVb+WV2ByKd4K1UdXzROQDAB4D4FgRebWq/tCYvaz+fwWAd0TbN4kVOGMlZqSpqVE9z5asxlTYFi8PUonvxE/ggTW5DTkbGdouU65kWKAnIKU+IusKHkTc9uTrtmvd9gUEo1xr3DIFfktFxFwkWERAcsWrRHwp+1Uve2xlvfrRWCU09WhXcjXxfnHP+S0ecmA7LV4kRGBYRxPtKRUCUr/dlqaKrh0BATMk8EeuLxGhO3DOl7Sn6+d4U0dWyTnu28x+fjR1zofqcm3McuCcL4no8duXL5O/TgXKzCkqKFyX1XBKn7dyIo4Xkd5Y1E8TQk/ZtaQsl8/8BKMu5RrqKoLFRjKJyCqqWdMeU6/6FoD7q2qj+Z1RDTe7U/3+QRgjMtW6w4NGVp08xtdGex8E4F8n1PvgkfeeL4/HALh2/f4/VfW7wXIJMlsuq4xzkecDeAUAqGqxKiIiL8CmUPPe+v3PUA1BezWqfEeXA7iTqp5pyh4P4Ml1G8R8dgSAT6GKvDoZwDcBXIJK0LoTgOdgc2zmtwHcRVWTmeFE5FAAp6LKHfUDAP8bwBdRDbN7ITYVwReq6sun3gGGvbZdSw+71l1mdTNHmjnGym7+pXVPLhfzG3i4CoU2FTwIF0ReuRQIZRERp5SYWJXx0dCNv0RQmsVqthLzJfZ1FwoyJb/kBury8o9NXbf7MG+SZrvnh+3kO0NFEfCTxp1tWfJ+MUz9ejb59qUicWAIREvhO5HnGh0TkzLJxu/8WpvU73qa1SXgZ/q6vPtJGpXrbLfY7U79eEOTJ7io1iXLhZ3Jout+U53oxVF222xIOGto5zQl2iQ2HY/oKRneNT9RJ+gnKFFPS8l1oDnBpltnfWS7vnjJJ7+iqnfOGvaQvbddSw+/1q9NXe4Ll3x85n0iIiuoonSeVK/6DoD7qOrPZvE7pq47ADi9XvwRgENV9UrH7iGoRkgBwKmqmnT2ReT6qIbg7UClfdzcC7ARkcMAfB3VQf8zADeODHsTkU9iU/t4iqoenyszjqlnl5sGVf1/IvJjzBBqVfMKADdHNUbwaGwN4wKqnXy0FZiCXAdVxNWkSKsvAHi8JzABgKp+R0SeAOA9qASvDztmb0UtuM2KoJ1IpnlS8uARuzUsTtAqqTvWGSpoS6F43JR4lpQoUplKo0IaoDkFqRmKZjtpxip9YPXEjelt/IerQMRWRrQR59poxRXfZnXiclW3sRG7nN5Sxdisyva0bmMjjp+Vla3lbBkAEJOtXExmcuujqsvsPy/bup2BzsnynZSLJKjKtCVK6MeyQAIjNRml1WbN9maOs2Ucm3XN26jJpG3LAMD6+tZp1WxaB7cMzCxwmk7Nth7wo9ZP4jdSxpm1ztjExLX8lT+NsvHqnv5+59/LmhF2EorumwvsRDekTIWkjfSXtWyZlcgvCX5tmU/b8Vvqe54RPl2KJupa5FDX2tNNZCH92Tpi6I3YFJi+B+C+JQLTaDALgJeq6nHWRlW/JiL/BuCRAA4C8FoROVZHHjJE5CBU+a43SPzUvi4QkdehCoTZG8DxIvLoUdFKRK6DaiTYxkH4l0GB6WAAv1kvXoYqT1UxrYpMAKCq7xaRn87oQwE8TUQ+AuAZAO4I4FqoZp87BcDfqur3C1x/D8DvAbhH7XN/VJnYdwM4D1V00nsAfDD35ajqSXVk1P9FFb52IwC/QJUY/I2q+oGC9o1BsIq0s7AIujckop32+L96N+G3rfbO83uJdPDab0WjNPaw3MxDZC5CxfMT8+sIFVaQSfJBeZEuRoTwhvpEBJlkOJAjtlgxKBFf8kKPJ7asRASZ1a3rrLAiq07dZp1s82xWszZ2Sjyx0wACaWKpbbaMm/Hc1OMcNyWZ3V2RyZrMMZIpHQ+U2qRZns1yJDO0I2bYqcO8+ert7HLunPZGkNm9VRxSZwq11CbNN5oIZZ7N2lZxygpe6564lohingBnBK51RwSzQpSTMzXNyRQRzqwQ5dkYgcvNO2SFsrygFbpHJ0PW8s8hseFp8/kRrZ/0TwBpy3d7w5i6Jb5QDFo0C9n/LwPw9Pr9LgD/AOCugWeSf3dyM0d5DqqJ0Q4A8DQAh4nIOwBcBOBwVPrGxmxwJ6jqSZ6TmpeiGgp3a1TJyr8qIm9BNRPcLWpfN6ltPwPgTcE2HoPNL+TEWWfWa11kAgBV/UxDfj4AYCqxRlWPQbXTvM8uB/CW+jUztdD1zCZ8TUIgWJnPVzdQluVhqW80JexM/2AUEVLSeiLtDQw9kumHQbmRJAGBJp0JcHqhx4oxno0Vdbxybvus0OOINjaqZsUIP95UbVa0saKOZ2NFHQCQ7cbGiDau8GPXeUJP4idvg+2OjRV6tpnv0hOQbN3+1IVm2TlG7aZ7NvmAtxRbKBS15Kyy65xM1YkOYYUfd9ows+zMRZ+Ui8xFv8sRFIxvtdOsBcp4AlciaDnbkApcZnlXKg4lopcngpl162upHxtBth4QyhKBaz0tk0SYeUKUWpEp4McbMpkeXKaMczzauiPilY2+c31PH9UVEriKI6hLfsTjc9z8oRizQRdmRBsCVX92IfvyHiPvtwN4TbDcIZicaHssqvpDETkKwPsA3AxVyp+7OabvwtbZ3Txfl9a+3g/gSAC3QZVD2vIJAI9TdUKYDXV01zEjq96WK5ODSkUPEaxgm+xYdDNIaywwCV4DDxGeANJU3bE8L3nRJqVAxPEEpEjdic3WZU/ECbUvidZx/Jhy/pCr1YnLVuSpVhUIPQEbV+ixos2q8eMIPYlo4/hNRBtH6JHttm7z/XrCz3YrIDnHhLVxhB7Zbo4/x49dZ/2sbM+LQytO3clIOEdASg4TN22TFTAnfhwmMBIOagUjTy8yOoAt4wTrYH3NClGOza68WKVGeLLLIRtHZIrYiLXxhLJdWzdMrI0ncCXClCeCWSHK24aAWJWJ6vKivGzUWUTg8oc6BoYOZoZixgSugI0n2CQ20wtakTL+3HumTMiPV26yTWn0dqTuIr+DFMHa2VdkufEi6oeKqp5Wzzj/DFQz0t8SwD4AzkeVmudtqhpK0K2qZ4vI3VAJQ08AcDtUKYAuBHAaqonGTtS4+n9fADet339HVf87WG4sFJl6iWB1YCLTEH4VKBVXsn4b+/WoJMKnmYie1sQhVwyaLMj44bDTi0xe3YmwE2lfEuHjCAEBoScrDsERdjwRJxkaFRmmFYnosX49kWl2MUis6BQoU60zAkiBYGSFINfGEYes+OPamHVW1wOAVWtjlr1ReFZU8kfqGb/e7rOCljsyz0bSbf28KZHJCVLCuhWMXL1jq43VO9YccchoG4no5NmsOQKSXecE3mDNilW2zK5C8SrjFwDEiEhqRSUvysvYWB+AE43lCFFJOVdkykRseZFrxmbVjbQK5OUqELSy+b+culyByw6p82ysYOT6MfUXCFNuhJRtnxtpNbluj0gEV7aegN8I5UJVM6LNIgWttkS6ZaGtVBz9QdwfO9tGVe/ToK9jMGbE1Bj7KwD8Xf2ate5dAN5cv2b19Uk0HK5IkamHiAhWZY+MTf9FmxLmNba6VBQr+V6KtikkDk0v/Pg2tn1lfiMiTkgwykQKhcpEhJ7C5Mc5G3coVyL8OHXbcn4vf2uZkrw+nsKQRBOV2aQiU354V0gcWg3YBAQjK/RYMciLFFqxwVkBv9scmyTIyxGitpty9uvd7pTZYcpsd/a5FZB2BGy2OdFOq2adXS69a9nH9DVHULDrdjs2VmTaaZbt5wCwy6zb5Qg0O3dZP4kJdptyux3ByIpV1mbdFa+2LntCVBJp5fixvq0w5Q0BLBGi3KGEVkDy/CQiky3jRXDlbdIoKi9iKzOMEUhVTSs6hYQpT6SzYpon9ORFpiT/UxrW5xSxIYQBkSkSaeXlvWpEBPOYfhhgU4JWWqgdEcz105A45M5WOSeGGS22XMiCEn+T+UCRqYcIVrB9Zc9FN2M25iSCNRUhVSQOhX6Wb0esigzTKvFb2UwWg/xhZHkBKVsGMaEnHZKzMvFz3683rCgiIAXqyolBroCUt0mEFC8KyIoDnp8k4siKToH2BSKF/HCYfERPmr/I+s0PNbOijucnIhgl0UWOXysqeZFCVlTa5glI2+xyXjDasc0up/t8D2vj7L89jFrl2eww3+d25/vdZo637ebYcvORmXPIT7xshB5PQDKd712OELDTrLMi01WOOpTaOCKTETN2BoQoT6zaZUWmAmHKRkMBXhSVJzKZ5ZAwtfX7ToQpAGKHGwZEJjfSyq5LIqQCfiNClBcmZ2wkkvzd2Nj94NmUiFdVOSsYOeeQLWejs9wxqPkoqsTGEzciYpXnO9u+SNL2giiqAtGpKQGpKeEs9dsx8apLET6M1mqVZRout2xQZOojIlhdnRzJlNLtyKbODTUrEpXKhJOSunPiWSRaJ1TOjSbK2HjCSkM2qYDk2NhonYDwkwwJ82bPCglIATHI+l7NtBeIiUPWJhJx5CVnzkUTedFFicjk7ZuIGJSPZLL5wkPD0Qps3JzjGVFpe2AIW1MCkhdxtIfZf1ZA2sMRmaw4tKcrRBkbR8C0QtR25xjdZs4zKzqtuiLT1mV3UjjTObOCUrVuayd1l2NjRaQrTUf7qt3pNllh6kpnuNdVu8Uspxtx1aoVwSJC1NbPdznHjRWi1pxjdNeureW84XxWeFozx6MnTK0ExKtYLipzjfRyWiVRU0bgcqOftq4TN0rJilde+/JCVCpWBaKzrI2X0yrgR5LxpIFhi6EyefEqFaLy2xARtErEq2KBK2DTShnPJiK+NFVXibjSmMjUTpQSh/d1jcUMlyPzgSJTDxGsYHX1Goupu6Upp9OKGopACg3damk4WlOCUolgVCri5Mp45QqEH799ASHFRk2ViEERccjdhryIkw5rC/iJTCFv63JnALORTBEhanrByN3nmVnNqvYERKaAGJQkqi4QkLyc6Gk+o4hNIErJClHOdtthblZ08sq5glFGVLKCEpCKSp5fKyptd0QmKyptd3ayXbfNJqJ3RCbbmnXv8DMdEpv7CUDo54b1Bp51vUAXxypZkw7rdWySS4c5rsUReswOdHSy5Hay5uwHu85+vV6ZdXtuBkQmV4iyWoYXlWTP+4A4lEQ3raU7JxWQUjeJOOXVlSSIL4mQyvt1k43Zcn7SMuM3IJxZEccT6YyNF+WVClH5qKSQeBURykKzBkw+qYsFrkg9TQhGDYlOpQJSSZRUY5FMHRKVmooWGxIi4s5yTIYBv9keIrKC1W3dGC7XmuhUOkNZS4JRsSDThJ+QWFUg9JT6yYk2bq6iiIAUEINK/NhOfWSYW4k4BDhTvUcimazfgAjmikN5PxGRKRGDkuFy+TLuMLdEBEtNYrOhTfbjDVmL2EQSYOds3CilgF+bO8nLZ2RzHvmBalZ0wMRlDzdSyKxcdR7cdxv1xxNJbLE1Y7NSeD9ZN+2z7a3Wba3Ly8m0bmysn0gfIXLpsN9TtW6rc/t9e/XraqR9kX1qC+YjyhIT97eQvPhndR1vZkUbheSJgWrW6Zo5Ht3E31Yk8SKQTHs8P6auiMgk61bZKxCmvPa4EVF5sSU5XZNheGV+E7HKO0YDQlQiPNkyBdFPQFk0VvpxoExE4PKdT9WWymR6Qas4wqclcaoxQaat2QMpGDXGvHLpkvlDkYkQQgghhBBCCCFzQiCMZBos/Gb7iAhWtk+bk2l+NJJfqfAX7aK6CyKFfJOAn0h+oIjfQNRPWiYw1CziNzdcLuLXjUAyywE/bv6iXPiGt02BaKfIcLm0rtQkzdsUCDexETKBKCV/KKH1m4/GykY2wRnmFohS8tqX5FtyohrsMB0bXeQl9c6VAYAkH3vAZtXWHQggdBPaF1zuvB9SbUTPum517M26tsuEMETa4o7aMVEru5xxbSvmGrSaRE7m6/aw+8KLZEqilLx9kcxAZ/IkOdEIdl1kZjv7PQGxgABLein2ji0TTeQeoyZKbtVrjLFJGpw/rr2hjpZ1Z8jfuuTPM7UJ4m2Ul5c32jryhuElfpxoJ3tYuLmTti4mkTmR6CdnOF9kKFyab8kb22jbE4hkstFE3jYkET35iChv6FuaV8pG+KRuI9FEWDc3nYKIKDeKyrpwhxtm8mCNW5eYTN8ed19k/I4xasYmKVKSD2p+eZwYe9McnF1uuFBk6iHSeZGpgctvZGiXX3nApAFRqal8S6VCT0GZpK5S8SonBhUn7A4IKZH25QSj0FC4wP4r9JMd1uYdNiEByYpgeZHJE3Fyw9pKygCO+OPpW8lQuLxglIwu9fxG8rFH0nJNn+4rRGRERJIyxTs9kk6eTaibFlo3X4T3QL3bCEirzlA4OwTMCkiAdyqa77vw0d0miY2IOO6QOtMRtDZeMm5rs9sZ0pSIV66frcuRFDORPlXkGLXHtVd37ncCty2B9ibXBe8QMOucwzgRp8QoWq7AZat2rguJOOVde61I4l1gzD5NzlVH2AsJUckwN0fMsOJUaOibuS6EygRs/PG4WxaLhr55CdkDJ0xWvAJSAaskj1NApHMp2QbrIpLjyiEkVhUJSPkyobotAeGsBA6Naw9h4u9BQ5Gpj8gKVnbsWHQrxtOEyFSakymSdGRuIlNAqIiUi4hByefOurbEIGsSaa8nVJQIXF40UUYEc7epJJLJO0QLRKZUvHL8RvZfAwKSaxPwa7chFsmUtwnkfk8jmdwyeZukw1lwGYv1jbzO0NbKPAHE6jp++0w0h8274SV0trmKvEM2JCDlo03yIlMZibQWEJn8Pt9kkcmNUkoCQFIbKyq5OaitjVuXtdn6uX9sTV72CN1yMqJTVZc5JrwIM+vWE6LsdxdIEG+FKO+UtzZuvzu5nzg2tlxIiLKfO+dUQIjKRkgBjoIZEYxMWyIiSUToiYg4bgLxTN2Ba2ZMuU1Nku+uQGRy919SxltXcAJH9nmuTGldAUojvwKFpi/j+jHfXTNeiQuHyw0ZfrN9RAQyeJGpzEe3RCZnXUMiUzYay+3hZeoJ1p08ZLclDgX8uDOo5fxEhpGFesipSSIgRfZfIAIpjUJz6m5AQIrYuCJTEl3kbUPeTxIp5EYc2X2Micvj1qU2019zIv2TyIgNLyrJshu2o+P4sRFHZl954saqHU7lfHd21jJfp82LTJa2Jo6I/PLs98Un72NP+An0s9MIKS/peDJBWd5m3Q7DK4x+KhuqZwRN5+hP54RwrguaP/6saOjrPLacbY93YbBfXuCe4+1jG+3kHdaJmmYVLvfk3GoSEJC89tmT0T0/7IGbKrdpGbvO+3GhQGRKEql77SkQh2x0lu8nL+Ql21Qs0Nh6yqKxcnU3JnAF6goRGs7Xkt95+iF5BFjxpvslg4AiUx9ZEciO7YtuxXgaEZkCNpFejOt7dpEpln8pILZE6i7pNUeiYSJiUGORTNakMJooUlfiJ1AmIDKVCD2uTS6SqU0BKdDpSyKiIlFKgbqTCKSAjT+c1CxGvt/pTVxyz/veMJ5UUPAqzwtIK8a52vAOx8aKEFaEAtJoopWAjX+I5oUoyyJFJj+nlbFJPg8IPyEbr+7JUUqVn8mikj+5lzm2UpOiYAlL6VeZaC3eKZ9cB5xj1CznRScgPZIDNt522nWe0JNEO+XLWPEq8qOAPzTK+PGUUHve28WC6KeqYEAMskKZF4WbE5lCw+UK25cb8tfUSeUNU20ikilyPkcErkhdESLD5YpEpumL+H4oMs0LYSTToOE320dEgB3d/eqayclU+sQasZldZAr5iAg9Ed/uQ21OZCoUaCJiUAMiU1GElOcnsp2JABJpX2oSGgoXSPKc286IgORPF26XA9+vJ6bZ+iOJqwMRSCExrUBfLdFk/fwxVuhJHeWGvrllzLIXxRK5cEXqskmebaCfNxQpdEoFBKREiApdwqcXplwvDfWFrNATCnJI+nOBaKdAxJEVlHwb6zdfxg+6yIuckWGfllDOsgIbT4jK+gmI7v7FIyCkRMSqZGeYfR64rhYLUXZInWtj6jfHkhshlYw3dEwieZusqFQi9ESiqBoSmVoTrzxK6op8HhhZ1lhOpiIhavoiRdFPCIpppCUEwpxMg6W7SgUZi4hAOiwyNRLJVDpBXRMCEpDv85VGMkXqiYhMSZGAAFIQ8RFqX4k4FLJx6o4MR8v5KYl+ctaFxKrAsLGQgFTiNxAR4P8ynilTKHAlNu52Tn/sz5Nch90TBux35e3ydPax1MYOffMejO3usyJEZCicNwlXSRCkR+lvB9NS2NdIBKIikakxESe1SaKSCtoXEa/aGgETwTu2rJbhX/dNA5ITzSlj94X73GHOu8CwQG/YnRVbQtc6e9yUClFJfiWnrkxSq0iElJt03NblKYQRAdOWyw3vqxxNbxOIxvLE+qK6c+KV6zdQV6RMaZ6miO9p/ZRePBpKwVSUZJw0RiMzkpNO0mGlgoxFAOzosPI7hEimAr8hoSfit0T8KYmsaksMCg1xKhSZIg/m2Ugrz21GOAvWnfwgE4kWC3wvkV/l7Ta4Pw4VCGUhcSgiRIW+h3Rd3k87ykVbP+JGcgv7nZitK23kEJAXg7xOTJJOJnB++Ls8vzPmJTJ5NNGniiTWjviNiEyRYXfWolS8aitvU4hAmGHk2pEcXPYLLykDxMSqpJizDVYkTk68gLDSlBDlVWXbY3efmzndLBZGOyVRU64QZSOX8n5DEUe5MbLeuqbEK4M/q17Gr0fkXG1K4Eps5hS1BCw2bxNpBhEIczINFopMfUQE2D7lSbnAh/vG8m6U9FCaEp2a8hMR7EuiOUJD7AJ+QlE104s4ReKQR0k0UYFwFsln5IpBgWiiZHhcgYAUE7jyfkJ5mwL7PLWJ+I2IkY5JW9cy++wZqCc0BCuJYEhtkggjL+jCCgyBn9NT3Xt6YaquLWCTx51Gfk40EZ1TKjzmhuFF/WT7ul7dmeinaHuyjWkIN5IpcG7aVYk+UzorXEBASq8dqZ80kskU8YbatiREudFESURUvkwSIeXuv4ggYwS4SCRTJIoqKVPg12uPLRMZAl0iXnmURDI1NjQub9KYCGbp41A46llZBMAKh8sNFopMfWQFkDYimebZASjppZREVBZnI23Ab0gcctaViC1F0U/5IkV5kQoFrtDwgSYEo0IRLDRkLSS42TKBupMhdl77pt8GXwyaLIJFhsuFBK5I+0p05YauY/7DaTsXyVSICohBjp+ko530jQJRIg6eOFXip+tk+2qBDkupiFMWlTS9gFRuM3uPKSQgBcslfpIyRrhwo4syToCgEBUQUjKiQ2T4a2NCVETwKNk3ARHHj3bauujq58kJYhYjz4eBoXplYlXAb+icKmtfSNDK+XVtFhjdVDIUzjuHCtzE6mrL8bLBSKYhQ5Gpj4gAOxY0hrWtnkSJ29KmtBQRVST0RGya8jsvMagh8ao0migbDRMQmSLJZ4uivBAQZEr9hvzYtkwvlEX2TUQkCbWv9LvqGemzcZnAlQuo8J71bYfO259rBUme+0hbuYiKAhZaEnq6RnKMOse5lPToksgcR6CxEXoBP66GExBxbPL8RGwpzFUUEqKSutKqstFOXpmIEBUQW0pskiiqyBA7j6RuZ/9FIsFyfj3xKhTtVCBETfs5gj+qRE7DkoktSi9rbV0OB3id7SwCikwDhiJTHxEsTmQK0Na01HMVonLbUCLqlPppQviJ+i0QtEI5+5oQhyJ+nYKNRBeNK2dNQlFTmboaEpAiuZ1igpFZLozgCkVElQisHackUsMvE+hslBARogJumopImRdtpQ5pLpfX9FFTc82lVEDp92+Fp0ZEJ6TChLuvQsO9rF/PzeTrvDdcya5yBaSIQLOS34ZkXzQhTHnlSv0U+Q3YWBMngiY07C5bd+BHglKhJ9ecwFAzV6SL0IQI5votaYzjpugCuMAbVYeu1/NBAIpMg4UiUx8RgWybUWRa9MN+ExlgiwWkgiJNRROVlJmX8BOtO6e/RaKAAgVLo4lStw1EF7mOC+sqihSaPnqnREDybab/XoqHwhUMyyoRr9oSO1yBJtJfCkQTpWW8qIZAp7mEpvbXAh+gm6i6dH+2JSotlILfNZobGucI3QXfcEy2NedUZHa5AiEqEaE8P6FEXV7dBREpTQhTXrmmhJSG/CbXXq+/WyBWhZKiG0JCT9EQtjLhJybQFBxbTV3HIuJZEzevLl13BweHyw0Zikx9RADpSiTTPMWqIhGnsIElQlSbws6UfoujgAraEooUCtRdIuSFhtSV1N2miJNxFIvwKbNJy0wflRRqn1tXvlCJGFQUIeU6smWmPw/bjNSJCFG2UxDZhpjfrJuivDldowkRp1NCUIOkAmagg1dwPhQLtZlop8hx7UcymbZEoom89uYiolwRx7rwxLVMW4AkSiq0nVZciwg/VpgK+PVsQnmb7MclET7w9nG+TBOi06JtQqJXkYDUVAhSxGgAN50lRwQUmQYMRaY+IgC2zdabCQki86SpzllTvbwSnWeOwk57dVu/0ws/rknRkLpAkTlGWpWIJDE/0/uICGXlfqZvT1v7pq0ypSJnkf5bKlj2jGUYLteUn3nmVgrl5SqKtstH+CT15KspFjlzjvxhoO0IUW5zckPzIqJdJBLHdZPfF7n2RHSzkADnERGrMmUiUUCxaCKnXE5FLBCzPIr2VZs2RWWaOoFL6m6GyHFCGqRLDwakUSgy9RARYGVHj07Ktpra0IWpyE1p1UWd1AUKPQU2jbW3KTEoYNCEOBRuS8H+K4vECRQpifppKQIpapNvX8RvmaCUK9amoDSE57CSYYFdJyLipGW8zvj0kUElUWilNnkCnXxvqFlJTQVikF8mIETZa1sgd5JHLndSKMLHFbgKhk+5gpu1iYh0+aZ4+yupqql9kSnjDYVLk3qnNiURPSGhIhOd5RZpSECKiF5Fdfu1NeXI+GnGjaXkmjTUCNbWEYGsMpJpqFBk6iMikBkjmVplTk1rLMF4ifBTGgk2J0GrVaGnNT/NRJKUiBDNbWcz0USp38nLkTLRgiVCSpuiUmqU8zGn42jONmmZBYrsC/TbFCXRO6V+S4Wn1M/kyJvSKKX54V08ti5GZlALdaIL9k0owsf9ggPtiQxZy9TtRxMVCCChaB1Td2kkTijh9fS+U1FsejELCEZA5Vx7fgP95lBEY0SAC7QnMSmI1ikRpty62xJkFij0dOoy2zNkpWtDa0hTUGQihBBCCCGEEELInBCAItNgocjURwRY2d4R3XyRzWgqkKnreZwK6ir3206kS6zugMkiI13mFLVSGvU1r6iaeUUkVX76F5XUTJmyk6iJS1m3Il8WS8m+aCqayPeTczSEMRuFw+4y0U5NDSV02xOyMVGuAR8lQ80iNqGIqMSg1G9ZrqlcXalBOxFTQFnUVMzv9FFoUd85yobLNXN9Cc2iV8IQLn/LhoDD5QYMRaY+IujMcLmFdkharLuR7ZpjR7GtvFLt+W1GPCipf75Du/onkiwy51GJzbz8lpab5yx187oed+Pu0w0io6lCfuaUF2lM7XnPmaFl88wHlRVEHL+lRk0lbM7Z+J9L1iYkVk3bmJhJkbjmG81eV0jMaqzu+WxTtEy2NYXiUChXVpHjZtwkbiky9RBGMg0Zikw9RACsdERk8lik8NRa3Y1FTc2n7rnma+mbENCiwNW3SCHf9+SCixZxuhxNtGhxaF6X3mWNdirq4AVJRJwGfABl+aBKZgqM5FJqbma7Mpu0TLfEqpK6y2zS7c5FJRUf+3MTtPLb5DsO2JT4Tco450eoYEldBTW1KNDMS/yhyNRDBBSZBgxFpj4iwGqfvrmFik7zq7yxquYVydSQn6YieppoS2m5RQ6naioyqKQtc4uaC5ZbBjGoLVGiTZZVVLKUijhFdTnrmkhEHnFRsp3+jHl5v2mZwFA4t9z0nzfht7KZ/gRpTLxKyjRUd0GZSDRWs76bL9TWvikWwZJCBWU8N435KYwgm7qiJpyQ7iGQVYpMQ6VPUgWpEel2JFMTLLpT01b9zQlRszvqmojTRJnici2JG13f7vm2bz5iUHH7yoo1UndbfiKsLPpi23cCu2+9qVwmgcigrA9nXUnkUuKjoIxXd2yWvenrKs0n057oECkzfYRZxHfkjE9mMgxVNH1bopTt05bEv7b8NFT5fLdh9vtH5yKQutaeISNYfIePtAZFpj4iwMLypPXsYjCEX/u71nGdl4jj191xoYJCT6N+ig61jp0vljZFnZ5dnpeG1YIvJtTxKvi+PcGr5LgpEy7SdUV1F7W37ORoamhUG/WUlmtKPJiXAFeVK6msrK607vmUaSzaKUDf/Ha/clLMCh9chgpFph4iEKwykmmudD3XU+J2njmZeuan60mfm6u7kaoHIfQ0JezM67o0BHF8WWhtuFwDwo9HieDl+m5I4GqkLZEypZUVDDdsSiyY55Cm9upuqkzPopISH001phk3idsF6jPN1c2bWe8QAThcbrBQZOojAqx0ZMbHeeY8aoshdui61slvy++yijiunw59510Xdfrmd9F1kfG09T00kX+pybqaEL2WVeACkIpVDUWqlYpeiZ+eiWCpjwYa0qLv0ki6mO/WXC+kniiNCXdkYQgAYeLvwUKRqYeIANsGHsnUFF3riM1PZOrfkJwuiTZdEmw8lkXE6Xr7YnUt7iLUtevfsjJPwShHaWLtsrq640c63snvmggW8lsiPJZU7vnpWUTPPAWRYUQlRWjnnKZ2NUcEwCofVIYKRaYeIgKs8qR06Xqnam4i03yqqerqmRCwLALNPH2357cdx4u8TvQx/UDXr6slzLUjMaf9tx6KSJpfx6ypqtrqoHdJqFgZQD6epoQyjyai2ebpN6lnjk9lXRNJutYe0iUEYCTTYKHI1FM4hLWfHZ/Fdm6HF1HRN79t+95aT/8FmnkKMos8N/t4Les7fdznuc7aPH97mlfnHADWW4xCGqXdIVfLKZS1VVeX6wHaFdxydF3U6Xr7yBxhJNOgocjUQ0SAbTwpXfrWcehae4fY0Z7ncKV5VbXIaJghCHBu3T1LGtrHiChSEYk48ljk+aFmoNNch5wOQoTYusNKj4ES5ificEjYBqWCWwl9E2361l7SMoxkGiwUmXqIAFjtSOLvPtI1YaeELiVcH2pki2WIAlyo7jk+LHdJOOnQKVbMELahSzTVOer6b0RNze7VFOvzqsjZRCuuNYXtVi26491M/WXHyDwFN8ui93uOISS3HsAmkDbp0oMfaRSKTH2EOZkWTh+viV3qcC6LaBKBwlk3WeTw0q7T9V3TWqem49sdITKMp2vf77wimcbUvmVpkcdWq2JMLvF3S2IbkApuEbouXDTXvgWKux3fx2QAiPSzQ0VCUGTqIYJ+5WTq2gNr1+maCJJjWUWSUpY1L5elQ00J08c2LyP8njaxnd3VHu6cLgkKi8y14z32za85Hcu31NBh3JqQ0qGhraX0qJuxcLp0jeodFJkGC0WmHiIi2MaTsjF6+MxdRN+2s0uCSJSuN7lL7evj92vp/xaQPlHUjxnAQbpIYccyz1ngmqLr7bPM8/tuS0hZ7D7v10nft+PTpV+7vDsIIOzPDhaKTIQQQgghhBBCCJkfTP8yWCgy9ZRcMv4hRAksK0P86oawTX07p7re2mX98apnhxGZkkH8Kr9AvOFLnR/iZ5rX9UOgS5FhHpGZ2Tq+CQuF+4b0BsHyPgwuARSZeogIsI3K71zpm8DQJsuwJ4Zwz+vjIdulWROHQOQ4tp36IRz7pTSRn4WH8HgiM2UN4dGm6538iGjX+aTPDR0nXd/MZaDroidpExnGRZ+4UGTqIYIe/LI3I8vc0VkkAz+sAAxXyBjiOTPQr6pT8PluE+6LOEX9wiU5oTsv0ASI5CqKiIbLCndNnKH3Z8gEGMk0aCgy9RRGMpFJ8Jo9nmV5nlmW6Lvl2EpCymitr8sTbyyyNArD1oNgaTZ7jgxBsCRkIuywDJZeiUwi8kgAvw/gSADXBnAugJMBvFJVv1/o8/oAHgHgfrXfmwBYBXABgC8B+GdV/VDGx9kAbhqo7i6qempJO7fWB6xybtGlZlkEhDZY5j3He3m7DDVKjrQPo0L6ixUCljUyQ5dzs1tltSW/HKJGOsOCrhsisgrgNgDuDOBO9f87ALhGbfJSVT2uhXr3AvAMAI8BcEsA1wJwHoAvAHibqp4S8LEDwOEj7b5Tvby9NnmKqh4fbM+1ATwIwG8CuCOAW9RtuhzAjwB8DsA/qeqXY1u4SS9EJqme3N8C4Knmo0MAPBPA74rI0ar60Sn93hXAf8O/jt+4fj1aRD4C4GhV/eXUjW+BZRgut8xQCJg/FAc24fFHyALgNahV2owIYWB5BYXS/tClPgSjtZaYqkO7qNpPBPDoeVYoIkcCeB+Am5mPDqpfjxeREwA8VVV3TnD1eVSC0KzteT6APwewh/PxvvXr9gCeKSLvBPCMabSQXohMAP4UmwLTiQBeBuCnAO4O4B8AHAzgvSJyJ1U9cwq/10QlMF0I4J0APgbgWwB+hWqnvhBVhNPDALwdwGMz/l4B4OUTPm9IpBKssie4NPCr7gYUouIw0JKQ5WJ90Q3IQCGoeRJRifdIUkBb0VpRKHItFllcJ8ceehcDuAhVdFHjiMhNUekMB9SrvoRKe7gQVRTSsQCuB+B3UI10/90J7mzbfwbgKsRGVY1yK2wKTGcB+ASA0+s2XQeVBvKYur4nAthfRI5S1dAtv/Mik4gcAOAF9eJJAJ6gm3e2D4nIGQDOALA3KvHpcVO4/zmA5wH4R1W9ynz2aRH5DwAfAvBQAI8Rkbuq6pcm+NupqpdPUX8R1XA53szJJuzUdxMKU/2Bl1TSJfrW8Vl0R5HMRlEUEu9vZIE0JWznBGjv+botUX3pnuVFFvnw9SUA/wPgKwC+oqo/EJFjAPxTS/X9PTYFprcB+L0RsebdIvJGAJ9FFdH0RBF5j6qeNMbXpwB8sG77qap6rogcB+AlU7ZJUWkrf6Oq/+F8/iYRuReAj6LSWR4I4MkI7qPOi0wAngRgr/r9C9XcCeuD4s0AnoNqaNv+qnp+xLGqngbgtAmfr4vIi1GJTABwFKqDcqFwuBxpAnaq+wtPf0KGDSNvlouFjzTjTaWT9E1snieLFLYpqjfIgm52qjpp5FGjiMgdADyyXvwRgGfZaCBV/aGIPBOV6AMAx428h7F9bkNNe76qXjLJQFX/U0T+FMBr6lXHYEAi08Pr/99V1a+NsXkfKpFpBdXQtrc1WP+3Rt7fqEG/M8HE34QwAXqf4DdFyHLB/vEU8ALZWRaZJJtiMxk0gmUJ3zp65P2bVPXKMXYfA/A9VMm37ywiN1PVs9pqVE5gGuFfsCkyHR713weR6cj6/xcn2JwKYA2VuHxHNCsyHTDy/heRAiKyHcBuG3XVFFV0Yb/vPLb1dkf1e+vIEOn7OUcIIYQskj7OasaRA4S0xwJzMs2TB468P3mckaqqiJyCSmQCgAcDeF2bDQty2cj7a4y1MnRaZBKRA1GNAQSqhFQuqnqViPwU1WxwhzbcjMeMvP9CxvbJdajb/gB2i8iPAHwSwKtV9RtNNoo3veWGXz9pC4pphBBS0UdRpMvw2ZUQcjWCwefuEJEVALetF3cDGDcqa4NTR94f1kqjpme0HT+MFuq0yARgv5H3F2Rsz0clMl2vqcpF5LqoZrYDgHMAfCRT5OCR99tQTVF4MwBPFZEXqepfZeo7DoGkXdfdbz8m/iYkCM8UQgghJVAUIRbKjqSEyJVkKY+tskvsjUQksrteqqrHFdXQHDfGZvTPT1R1d8Z+VMS5VTtNmppjR96PS0ae0HWRaa+R9+PGL27wq/r/3hOtgkg1LdQ/A7h+vep5zgx0G5wB4NWossL/CMClAG4C4BEAXoRqGsBXiMjPVfX1jbSvCScEACM3CCHNwEsJId2k6wFJkWtH17eBEEKmRYafRX3fkfcXBuwvGlN2IYjIPQA8pV68EsCromW7LjItkj9HlUQcAN6qqieOM1TVhzurvw/g70TkgwA+j0qseoWIvFtVL52tacJIJkKCUEQkhJAlZwi3gSFsA+kkHBY6Hj5DtsgSDJfD1uCXXMAMsBk0AwD7NNyWqRCRGwA4EZvp2V+squdEy3ddZLpi5P2eGduNULTLZ61URI5FFYEEAB8H8MxSX6r6fRH5MwCvB3BtAA8B8K4xtsehmrJwIofe9nbKi173ET4REkII6RneMz+nUidkuHBYKFkEAkDKZpc7V1U7M+P7EBGRvQB8EMCB9aqTALxyGh9dnzhwNKzs+mOttn5+0USrDCLyGFSCEFAl+n6Uqu6axSeAD4+8P2JGX4QQQgghhBBCSD8RgaxM/+oZo8EvuYAZYOvsbZeNtWoREdkTwIcA3LVe9TkAR6tOF/LY9Uimc1F9OXsDOGSckYjsAWBD0fxOaWUi8gBUUUYrqPIsPURVr5hcKsT5I+/3ndWZgL86EEJIHxFeu0kPWeVhS0ijTNlfI2SYdD3cZXYuHXm/3zijEUYnMLt0nFFbiMgOAO8HcN961ZdQqId0WmRSVRWR0wDcC8DdJpjeCcBG6rCvltQlIncH8AEAO1DlU3qgql5S4svhBiPvL23CITsqZOgM/75DCCGEkKWEz/GE9DEyaVrOQZVn6RoADhSRbZkZ5m468v7MVltmEJHtAP4FwFH1qtMAPFhVf1Hir9MiU82HUYlMtxKRw1X1DMfmsfX/dQAfmbYCETkc1VjDvQD8BMD9VfVnhe31eMTI+9OacMgOeAxPjGvi1yOKfIQQQgghhBBSgAx/djlVXReRb6EKiNkG4A4AvjKhyJ1H3n+jzbaNIiLbALwbwG/Vq84A8IBZAm76IDK9HVUy7GsCeBk2Nx4AICIHAzi2Xny/qo4OTcsiIjcD8O8AroMqB9QDVPXsKcofqKo/mfD5rQG8tF68BMBHp2nfGJ+cXW4WKBARQggZGJxsoj8o5jdUisdFnHl+L4QQLMusmaegEpkA4EEYIzJJFcHwoJFVJ7fcro16VwG8E8Bj6lXfQhVwM1Oe686LTKp6noi8DJXA9HAReU/9/meohtC9GlUE0uUAXmjLi8jxAJ5c+xLz2Q1QzR53AwC/RLVzfywie8Nnl6peZda9VkSuD+A9qBKF/wjALgA3RhXB9McArlXb/rGq/jy88RPgQwMhhJA+w4hQsqzwGa6b8HsZzxBySEXuOUPYzt4gSzFcDgBOBPCC+v0zROTvVPVKx+4oALeo35+qqme13TARWQHwNgBH16u+A+B+0wbteHReZKp5BYCbA3gqqp1wtPn8clRZz6cdu/hgADer318TwH9k7P8ZwDFmnQC4Z/0ax1UA/q+qvnXK9o2FD+eEELK8LMdzGSGEkE6wLP2OZdnODiAApOf5X0aDWQC8VFWPszaq+jUR+TcAjwRwEKoAlWNVdX3Ez0HYnN0eqEZxtUodOfVGAE+qV30PwH2bShnUC5GpnjLvaSLyEQDPAHBHVNFB56IKQftbVf3+gpr3CgBfA3B3VELY9VBFVv0cwHcBfBLAm1T1R01VKGAHgxBC2oS/aBNCCCGEtMeiIplE5BAATzOrbz/y/r51nqJR/lVVS3MrPweVVnBAXe9hIvIOABcBOByVvrExs9wJqnrShLYfic2hbRvce+T9o0XkFubzt6rqD8y6lwF4ev1+F4B/AHDXQCDLv6vqL3NGvRCZNlDVD6CaAW6aMscgjT7a+Ox4AMfP2KYvAvjiLD5KYAeIdIV5/ujDKGbSBPyhkhBCCCFkgQiwsrhIppvCSbMzwr3q1yjfQ+EEXqr6QxE5CsD7UI2iulv9srwL1citSdwBk9v+8Po1yicAWJHpHiPvtwN4TabeDQ4BcHbOqFciE9mEnSTSBl0XL+1xzySdJHLM2uOk68c5IYQQQsjQ6ftwuWlQ1dNE5PaoopYeC+CWAPYBcD6qvM5vU9W5JPueBxSZego7SWRR2MjWdZ38uWfTFDwPSO54BNLjhMONCSGEEEIWhyww8beqfgYNzG03acTUGPsrAPxd/Sqt83jMOBKr9nOfWX1MgiJTD2FOJtIlIscij1cyL9o81jjhAiGEEEJIMyxTJNOyQZGpj4iws0MIIR2DkXWEEEIIITHYnR0uFJl6CjszhBBCRklylunkzwkhhBBCFsJiE3+TlqHI1FPYWSCEEDKJRd4n+EMIIYSQtuDEL/1HIAvLyUTahyJTT+EDPCGEELI8NHHXH0K3zNsPJds1xKeoIXy/hERgP2gYMJJpuFBk6iGCYT4ckeVmCA/HPC8JIV1mqNeooW7XtHA/EEJ6A4fLDRqKTIQQQgghhBBCCJkLAnC43IChyEQI6QS8zQwbzohJCCGEEEIAMJJp4FBk6inssBFCyDDh1Z0QQghZPENI5dBlKDINF4pMPYWdEEIIIYQQQghpB/a32kPA2dKHDEUmQgK0FTmmyt9Ilh1GJRJCCCGEkKVCgBXmZBosFJl6Cjumw4DfIyHzh2cdIYSQZaWtnzcj99Z5/rRacq+PtM/65c/F5VBjGi4UmXoKz0lCCCGEEELINCyyD9H1/ktJ+7q+TV1FwJxMQ4YiEyGEdAjh4wohhBBCCBkyAqwylGmwUGTqIVL/EUIIIU0yzztLyRCDZbnzLXI4yyLxtrtrQ3AIIYTMDiOZhg1FJtJbut4ZIu3T9Q4TIWQ8PH/Hs6z7pnS7l3V/EUJIb2Hi70FDkamn8JScL9zfhPQX5tcnhFg4uSshhCwOAbDKSKbBQpGpp/S902Qf7rq+PXwY3aTr3xUhhBCSg/cyQghZLLwODxeKTGQh9O2i0rf2EtI9eBIRsni69otJW9eFrm0nIYSQrQhW2MEaLBSZess8Tsp5puBkhqVuwos/IYQMh2W5pi/LdpJhw+dVMlxEOFxuyFBkIhMYagrOrrePELJoSq4STXUHSq9Qtn7rZ9HdlVx7vO1edJsJIWRx8HmVDJcqJxOP8aFCkYkQMhZe+gmJs+jzJVf/ottnibSna20mpO+0FWteGvveJShqEzJHBFhhJNNgocjUU/p24yaEEEIIIYulrefHITyXDmEbSLOUCo8lkcTLdvwJgFXmZBosFJkIIYQQQgghhBAyN5iTabhQZCKEzB1Zut9rCCGkmygHCRFCiEtTT6t86k2pEn9zzwwVikw9hZ10QgghhMwKnyfIskKBlZDFwtFyw4UiEyGEEEIIIWSpoMDaDygGDhPmZBo2FJkIIYQQQgghhHQOioFDRThcbsBQZCKEEEIIIYQQQshcYE6mYUORiRBCGqJkylpCCCGEEEKWCQ6XGzYUmQgJwEsgKYHHDSGbUHQlhBBCyAarK4tuAWkLikw9RMDOKyGEkH7B+9ZwoYBICCFkGkQYyTRkKDIRQgghhJBi2E0YNhQRCSFtwJxMw4UiEyEOnMmCkAo7dbB3bnB6YUIIGS5deyIqueN0bRuagndf0lcEghVGMg0Wikw9hSIIIWQeRK41vB51E4p/hJAhwjvOJkPcF/bO1eY28i65WDhcbrhQZCKEEEIGCMW/TRiRRwgh/WCedy7eJReHCIfLDRmKTIQQQggZNMsakdd14czu8663lxBCSDMIGMk0ZCgyEUIIIYQMkL4JZ/NsLwUtQghZLBSZhgtFJkIIIYQQslT0TYCbJyUCHIegEkKmQUQ4XG7AUGQihBBCCCGEAGhOgOubkEdRjJD5siIri24CaQmKTIQQQgghhJClhsM1m6etfbos+2/IMCfTsKHIRAghhBBCCCGEkLlBjWm4UGQihBBCCCGEkDnRt6GEXWOR+49RVM3ASKZhQ5GJXA1P827AWxchhBBCCCHdoymBa+nFKhHmZBowvfpmReSRInKyiJwnIleKyFki8joRuXkDvreLyHNE5EsicqmIXCYiXxeRPxORfYI+bl6356y6fefV7X3krO1L6mrhRbpBG98tjwFCCCGEEEK6gQT+hs6KyNQv0g96ITJJxVsBfADAgwDsD2APAIcAeCaA00XkITP4vw6AzwN4FYC7ALg2gL0BHA7gpQBOE5FDMj4eAuD0uj2H1O3bv27vB0TkLSI8M0i3oZhFCCGEEEIIaRPBYkWmWl84WkQ+IiLniMhVIvJTEfmkiDxdRBof8SUie4nIc0XkcyJyfh2U8kMRea+IPCjoY4eI3ElEjhWRN4nIV0Rkp4ho/TpmhvbdU0ReKyLfEJGLReRXdfv+S0ReLiK/HvXVl+FyfwrgqfX7EwG8DMBPAdwdwD8AOBjAe0XkTqp6ZoH/9wK4E4B1AH8O4J8B7ALwKAB/A+DmAD5U+99pC4vIobWPvQGcDeDZqESrGwJ4EYDHAXgagLMAvLygfYQMijaFpiUPPiaEEEIIIaTzLCoyqQ4weR+A+5qPblC/7gvgmSLyKFX9UUN1HlnXeTPz0UH16/EicgKAp3p6wwifB3DHJto00rb9ALwewGOdjzfad08ADwFwRMRn50UmETkAwAvqxZMAPEFVN/qRHxKRMwCcgUrgeRkqQWca/w8D8IB68U9U9W9GPn6tiJyPSkA6DMDvAfhHx83L6vqvAHBfVf1Bvf4CETkawF6ovpQXiMhbVfW8adpICInTxO2KQhUhhBBCCCHtIBCsLGB8g4jsAPBBAPeqV/0YwJsAfA/AjVEFttwGlZDzMRG5u6r+YsY6bwrgYwAOqFd9CcA7AVyIauTUsQCuB+B3UHVDfneCu1Wz/DMAVwG4aWHbDgDwSQC3q1f9D4B/A3AmgMvrdh0G4Khp/PZhuNyTUIk0APDCEYEJAFALOm+uFx8tIvtP6f+Z9f/zAfy9/VBVT0Q1DG7U9mrqL+ZR9eKbRgSmjfKKTZFsL0w+aAghHYBDBQkhhBBCCGmPFZn+1QDPxKbA9FUAd1DVv1TV96jq36ISl06pP78tgBc3UOffY1NgehuAu6vqa1T13ar6AlQjqjYipp4oIg+d4OtTqEZePQLAgap6QwDHlzSqTuVzIiqBaQ3AHwE4TFVfoKrHq+r7VPWNqvpHqnoLAA+P+u6DyLSxMd9V1a+NsXlf/X8FwMOijkXkmgDuVy9+UFV3ZfzfTkRsiNtDsbkf3weHut3fqxd/K9o+QsjwoAhFCCGEEELIfH+urfMsvbBeVABPUtVLRm1U9UpUQS5X1Kv+SESuN0OddwDwyHrxRwCeparrps4fYmswy3Hj/Knqc1X1Jar6IVU9t7RdNc8AcO/6/f9V1dfatpm6fxx13AeR6cj6/xcn2JyKSn0DphujeFtUCbpz/kc/s/43lncD+ErAx5ETbAghSw4jpAghhBBCyNBZqYfMTfOakfsCuH79/pOq+k3PSFXPB/CeenEPVFFDpRw98v5NtYjl8TFsBqXc2QlsaZQ6iul59eL3Aby6Sf+dFplE5EBUuY6AKmm2i6pehSoROAAcOkUVo7Zj/QMYHQJn/W8sn1u3I+dj73q7CCGkMSg6EUIIIYSQPrCgH1UfOPL+5Izt6OcPbrvOOsXOKSOrZqkzwr0A3KJ+/65JEUwldFpkArDfyPsLMrbn1/+nCWeL+j9/5L31v+Ej2j7PByGENAqjnQghhBBCSFeRgr8ZOWzk/aQRSEA1UsorF0ZEVlCNnAKqUU/jUv80VucU3Hvk/ZdEZEVEniIi/yEiF4rIlSLyQxF5t4g8cKyXMXRdZNpr5P240LINflX/33uiVZn/X428t/43fETb5/kAAIjIcSKiudd553NyOkIIIYQQQggh/aQwkulGkf6yiBznVHmrkfdnZ5p3DjbT8dyyHl42LTcGcI36/U9UdXfG/ocj72811qoZ7jzy/nIA/4EqKfm9UQXE7AHgIABPAHCKiPxLnc86xLYGG0rmxPkXnP/Lmx560M9HVs2a9IsQEuNGI+953hEyH3jeETJ/eN4RMn/seVc0LX0fOOObZ5xy00MP2i9vmbDvDNWOlr1wkqGq7haRXwC4DirNZC9UYkwr9dVcNKZsG9xg5P0bUYlalwJ4C4DTAGxHJTj9bv3+sQB2IJifqusi0xUj7/fM2G6ohNN8+VH/1xh5b/1v+Ii2z/MxLX8D4CUbC6p6owm2hJCGEBHdeM/zjpD5wPOOkPnD846Q+bNM552qFuUcqiOUXpKzG8PoaKLcKCSgGol0nfr9Ppi+D19S3wb7TFnXtOw78v5WqJKO/6aqnjOy/p9F5I0APg7gWgB+S0SOVtX35px3fbjcqOJ3/bFWWz+/aKJVmf/Rz6z/Cx2baX0AAFT1OFWVwOu4TF2EEEIIIYQQQshgYH+5MawOdIwRmAAAqvolAC8cWfXsEudd41xsKoaHjDMSkT2wGV74nSn8j9qO9W8+s/43lm8kIjsCPi5X1Z8E20cIIYQQQgghhJDZGI1Eyo1CAraORLqsB/VNw6j/b6nq5ybY/hOAXfX7u4pINgd2p0Wmeiq/0+rFu00wvROA1fr9V6eo4lsArgr4H/3M+t9Y3la3I+fjtAk2hBBCCCGEEEIIaZZLR95PzAclIttQDREDKoHlignmM9dXMzoD/aXjjBpi1P/EmfZU9QpsBtasAjg457zTIlPNh+v/txKRw8fYPLb+vw7gI1HHqvpLAJ+sFx9RH0yT/H9TVc8yn51U1ztqtwURuT2AW9aLH4q2jxBCCCGEEEIIITNz5sj7gzO2N8ZmEMv36uCXaTkHm3mWDpygNWwwmuj9zLFWzTA6OuvnY618m2vnjPsgMr0dwC/r9y+zH4rIwQCOrRffr6rnT+n/9fX/A+CMMRSRxwI40thejaqeB+AD9eKxIuLNArDR7isAvGPK9hFCCCGEEEIIIaScb4y8nzQCCQDuPKZcGFVdRzVyCqhGPd2h7Tqn4Osj77OikbHJilKdF5lqEWdDpHm4iLxHRA4XkeuLyMMAfAqbUwq+0JYXkeNFREez9Rv/H0GVMR0A/lpEXiwiNxWRG4nIs1CJXADwTQBvHtPMF9b17w3g0yLysLp9h4vIewA8rLZ7eb09hBBCCCGEEEIImQ+njLx/UMZ2dPa7k9uuU0TEfD5LnRE+NvJ+ouAmInsBOLRe3AXgBznnnReZal4B4G31+6NRKW/noxpKdwgqgedoVS0NK3sCqrGIqwD+HMDZAH4C4LWoEnB9H8DDVXWnV1hVv1P7uLxuz4fr9n29bi8AvLXeDkIIIYQQQgghhMyPTwO4oH5/fxG5nWckIvuj6tsDwJUAPjhDnSeOvH+GiIxLAH4UgFvU7091UvQ0iqr+EMDn68Xbisg9J5g/BcD2+v1/1TmaJtILkUkrngbg0ajUwAtQJez+AYA3ADhCVT86g/+LAdwDwHMBnArgF6iGtp0B4CUAjlTViYqdqp4E4Ii6PT+o23dB3d5Hq+rTC8dyEkIIIYQQQgghpBBV3Y3NEVIC4O0icp1Rm1oE+mdUI6UA4LWqepHnb3TElIgcN6bOrwH4t3rxIACvFZEtGoyIHIStaXlcXy3wopH3x4vIgdZARO6CrSmL/ibiWKh79JPRA1lVjxtvSQhpCp53hMwfnneEzB+ed4TMH5537SMiOwB8AsC96lU/BvBGAN9Dlez7aQBuU3/2LQD3UFU3B5GIHA/gyfXiS8d9Z3XO5i+iygGN+v07AFwE4HAAz8DmzHInqOoTJ7T/SACPMavvPbI9H8bWfEsA8NZxATMi8joAz6wXL0WVHug0VJFL9wbwJGxGMb1ZVY+1Ply/FJkIIYQQQgghhBAydOropfcBuO8Es68CeJSq/miCn+MREJlq2yPrOm82oc53AXjKuBQ9tZ9jAPzTBB8ev6mqnxnjbwXAPwB4FqrornG8BsD/UdW1SIW9GC5HCCGEEEIIIYQQMguqegmA+6PKu3QSgHMB7ARwHqpJxY4FcLdJAlNBnacBuD2A56HKhXQhqvQ6PwbwLwCOUtXfmSQwtYGqrqvqH6FKHfQWVBFdv6xf363X3UlV/3dUYAIYyUQIIYQQQgghhBBCGoCRTIQQQgghhBBCCCFkZigytYyIPFJEThaR80TkShE5S0ReJyI3b8D3dhF5joh8SUQuFZHLROTrIvJnIrJP0MfN6/acVbfvvLq9j5y1fYQsijbOOxG5vog8XUTeLSLfFpErat8/FpF/FZHfCvg4e2QWikmvO5e2k5BF0dJ5d0zwnPlIwBfvd2RwNH3eicjBwXNu9HWw4+czwbKPnXknEDIHpOI2IvJkEflHEfmyiFxVH8dXNljPPnVf7ut13+7Suq/3HBHZnvdQ5f8RkbeLyI/q68K59bPqfZpqJyGT4HC5lhARQTWG8aljTC4HcLSqfrTQ/3UAfBzAncaYfB/AA8Zlkq99PATAewHsPcbkrQB+T3mQkJ7Q1nknIncF8N8AVjOmH6n9/3KMn7MB3DRQ5V1U9dRp2kjIomjzfifxBJcnqerDJvjh/Y4MihbvdwcDGPvs6HAxgBvaPCIi8hkAvxEo/zhVfd8U9RGyEDLnxlWqumcDdRyCauazccmhv4Kqf3fJBB9PA/B6bM4INoqiSlD90lnbSsgkGMnUHn+KzRv/iQDuAGB/AI8AcDaqB933isitCv2/F5XAtA7gOACHoJp28Y8AXAng5gA+JNU0jQkicig2H7jPrtu1f93Of6nNnlZvByF9oa3z7pqoBKYLAfw9gAcBuAmA/VDNTPHJ2u5hAN4e8PcKAPtMeH11yvYRskjavt9tMOmcGRsNwfsdGShtnXc/xORzbR8AR4zYvzeTqPaEjK8PTNk+QrrAOaiO3f9symHdZ/swKoHpV6j6dDdG1cc7DlWf706o7mfjfNwbwBtRCUynA7gfquvC3VEltBYAx4nIbzfVbkJcVJWvhl8ADkD1C5KiimwQ8/khI5//S4H/h9VlFcAfO58/fuTzZ43x8b7688sBHGI+E1SZ9jc+P2DR+5QvvnKvNs87AEcCeC6APcZ8vlLXuXHe3XWM3dn158cten/xxVcTrznc747ZOK9maCPvd3wN6tX2eReo/yUj97u7j7H5TP358YveX3zx1cQLlSj6CAA3GFl3XH2cX9mA/z8cOa8e53z+/JHPHzrGx5frz38CYF/z2Q5UwpOimtFsz0XvU76G+2IkUzs8CcBe9fsXquqW8HuthrC9uV58tIjsP6X/Z9b/z0cVVbEFVT0R1UVk1PZqROQAAI+qF9+kZkhd3d4X1It7AfjdKdtHyCJo7bxT1dNU9e9U9aoxn68DePHIqqPizSak17R9v5sJ3u/IQFn0effE+v/3VPXzDfsmpJOo6mWq+kFV/VlLVWz02U5T1X9xPn8VgAuM7dWIyF0AbOT0/GtVvXT0c60iDl9SL94YVdACIa1AkakdHl7//66qfm2Mzcb48xVMcZKLyDVRhT4CwAdVdVfG/+1ExI7rfSg2v3t3HHzd7u/Vi9mExoR0gNbOuyDfGnl/o4Z9E9JVFn3e5eD9jgyRhZ13InJ3ALeoF9/RlF9Clpm6r3bbenHcvWoXgA/Wi/er+4SjPHzk/bg8Zx8FsJE3lPc70hoUmdrhyPr/FyfYnApgrX5/xyl83xbAHgH/o59Z/xvLu1ElkMv5OHKCDSFdoc3zLsIBI+9/ESkg1QyR0nA7CJkncz3v6tl9QrPrmPp4vyNDYpH3u41oP8UUIpOIbBMR9jsI8Rk9RyP9uz2xKUpZH+eo6rle4VqoOs2pk5BG4cW+YUTkQGzOXnPWOLt62M1P68VDp6hi1Hasf2yd/cD631g+d9zwH+Nj73q7COkkczjvIjxm5P0XMrZPFpHzAOwEsFNEvi8ibxKRwxpuEyGtMe/zTkS+CuAqVOfML0Tk0yLy+yKyx4RivN+RQbHI+12dmPjoevFzdvjpGB4oIj9Gdb/bJSI/FpETROQeTbSJkIHQZP9uUvlRH7eg8EvaggdW8+w38v6CsVYV59f/r9eC//NH3lv/Gz6i7fN8ENIl2j7vJiIi18XmzFTnoErEOomDUc32AQDbUM0k8nsATheRP2mqXYS0zLzPuyOxOSXzPgDug2qa5lOdYeEb8H5HhsYi73cPAXDd+n00iumGqPK/CKp+x40B/DaAz4nIa9jJJQTAYvp3e2BTsCakUXhhb569Rt5fmbH9Vf1/mhM86v9XI++t/w0f0fZ5PgjpEm2fd2Oph7v9M4Dr16ueNyFi4gwAzwNwF1TD6/ZAldvieQAuAbAK4BUikiR0JKSDzOO8+xWA41HljrgVgGsA2BfA/VHllgCAwwCcLCLXmtBG3u/IUFjY/Q6bQ+WuAnBixvYsVBNi3APAgajudwcBOBbVzFZANZvWKxpqGyF9hv07MigoMhFCyGz8OTaTqr61nt3RRVUfXs9Sd6qqnq+qO1X1+6r6d6iEp41fn14hIvu222xCuo+qvldVn6KqH1bV76rqlar6c1X9pKo+FMDf1aa3BPDcBTaVkEFT35MeWi9+2M5cZVHVp6rqX6rq51X13Pp+92NVfTOqXDBn1qbPFZFbTHBFCCGkZ1Bkap4rRt7vmbG9Rv3/8hb8X2PkvfW/4SPaPs8HIV2i7fPORUSOBfCievHjcKaUjaKq3wfwZ/XitVENSyCkyyzkvDP8KTajIn7b+Zz3OzI0FnXePR6bE8+8fRZHqnohgGfXi9tq34QsM+zfkUFBkal5Lhx5f/2xVls/v6gF/6OfWf8XOjbT+iCkS7R93iWIyGNQ5YMBqkTfj6pn7ZiFD4+8P2JGX4S0zdzPO4uq7gRwSr14S2dKZ97vyNBY1Hm3MVTuAgAnN+DvE9gc1nNEA/4I6TOL6N/tBEUm0hIUmZrnXGyesIeMM6pnw7lRvfidKfyP2o71bz6z/jeWb1TPFJLzcbmq/iTYPkIWQdvnnfXzAADvQnUNPQPAQ1T1ismlQowmdNy3AX+EtMlcz7sJTDpveL8jQ2Pu552IHALgnvXiexr4QQWquhvAxfXivrP6I6TnNNm/m1R+9PPvqup6oG2ETA1FpoZRVQVwWr14twmmd0KV5BcAvjpFFd9ClXAx53/0M+t/Y3lb3Y6cj9Mm2BCycOZw3l2NiNwdwAcA7ADwfQAPVNVLSnw53GDk/aUN+SSkFeZ53mWYdN7wfkcGxYLOuyeimh0OiM8qNxER2Y7N2bEubcInIT1m9ByN9O+uRNUn9HzcRERu6BUWkW2ocqLZOglpFIpM7bAx5OVWInL4GJvH1v/XkZ/u/GpU9ZcAPlkvPqK+WEzy/01VPct8dlJd76jdFkTk9qgSqQLAh6LtI2SBtHbebVD7PQnVDB4/AXB/Vf3ZtH4m8IiR9+zskj7Q+nk3iTpa48H14pn1PXIU3u/IEJn3effE+v+3VfXLM/ra4EHYzPHE+x1Zauq+2oZoNO5etQ2bz4mfdO53oykXXB+o8n1uDCvn/Y60BkWmdng7gI0T/2X2QxE5GNUUrgDwflU939pk2MgDcwA2EyeO+n8sgCON7dWo6nmoIjEA4FgRualTx0a7r0BDv1oR0jKtnncicjMA/w7gOqjGvT9AVc+eovyBmc9vDeCl9eIl2JyenZAu09p5JyL7iMi1JnwuAF6JzSFBJ1gb3u/IQGn7OXPU190A3KpeDJ0fgfvdDQD8Q724G8DYWVkJWSI2+mx3rPN+Wp4DYH9jezW1AHxqvfh8Ebn26Od19OBx9eI5aPhHH0K2oKp8tfAC8AIAWr/eA+BwVInWHgbgrHr9ZQBu5ZQ9fqPsBP//XtvsBvBiADdF9aD9LFQPHgrgGwB2jCl/aF2/1u15WN2+w+v2brT9BYvel3zxFX21dd6hGo7z/frzKwDcG8DeE157OD4+AOC/APwhgDujelC4Tt3GFwH4+Ujbn7bofckXX9FXi+fdEahytry29nUIqtwtNwLwcFRRvRv1/g+Avce0j/c7vgb3auu8c2xfW9uuAzgo2La/B3A6gD8GcI/6HrpvfS4+G8BPR9r+F4vel3zxFX0BuC2AXxt5vaU+jq8y63/NPgsC+Exte/YY3ztQ9d0UVV/uD+r73U1RzT68u/7s3ye0794jdl8FcB8A+wG4K6pk+xvn3W8vel/yNezXwhsw1BeqsetvHTmZ7esyVMmCvbLZmz+A66JSq8f5/x6AQzJtfOjIg7f3egsAWfS+5Iuv6Kut8w7AMRN8eq/jHR//Fih3JYA/XPR+5IuvaV4tnndHBM+3zwO4SaaNvN/xNahX28+Ztd12VLPJKYBPT9G2vw+ct2sAXs7zjq8+vbApFEVeB48pe/YE/4dg80dN73UqgOtk2vh0VDPHeeXXAbxk0fuRr+G/xuXzITOiqgrgaSLyEQDPQJVk7VqoZgU5BcDfqur3Z/B/sYjcA1Xk0m+jCmVeRfXr1fsAvEpVL8v4OElEjgDwf1GNjb8RgF+gUr7fqKofKG0fIYug7fNuRl4B4GsA7g7g5qgSnu6FKoLpu6iiMt6kqj9aUPsIKaLF8+57AH4PVSTEHVFF/10P1a+056F62H4PgA+q6lqmjbzfkUExp/vdUaiiIIDphpK+GdWsj3dHFb20H4B9UM2KdxaAz6K63/3PjO0jZFCo6g/qe9X/QZVX6WaoBNkzUc1q/FrNzO6oqm8Rka8AeC6qSKb9UUUFfx7Aq1X1M221n5ANpLpHEUIIIYQQQgghhBBSDhN/E0IIIYQQQgghhJCZochECCGEEEIIIYQQQmaGIhMhhBBCCCGEEEIImRmKTIQQQgghhBBCCCFkZigyEUIIIYQQQgghhJCZochECCGEEEIIIYQQQmaGIhMhhBBCCCGEEEIImRmKTIQQQgghhBBCCCFkZigyEUIIIYQQQgghhJCZochECCGEEEIIIYQQQmaGIhMhhBBCOouIPE5EVESuEpHti24PIYQQQggZD0UmQgghhHSZO9X/v6mquxbaEkIIIYQQMhGKTIQQQgjpMhsi02kLbQUhhBBCCMlCkYkQQgghXeaO9X+KTIQQQgghHUdUddFtIIQQQgi5GhG5NoBLM2bnq+oBc2gOIYQQQggJwkgmQgghhHSNwwI2Z7TeCkIIIYQQMhWMZCKEEEJIpxCRVQDXAPBHAF4O4KcAbmXMdqnqVfNuGyGEEEIIGc+2RTeAEEIIIWQUVV0DcLmI3KZedbqqXr7INhFCCCGEkDwcLkcIIYSQrnKH+j+TfhNCCCGE9ACKTIQQQgjpHCKyA8DVkUwLbAohhBBCCAlCkYkQQgghXeS2ALbX709fYDsIIYQQQkgQikyEEEII6SJH1P8vB/C9BbaDEEIIIYQEochECCGEkC5yRP3/68qpcAkhhBBCegFFJkIIIYR0kY2k36cvshGEEEIIISQORSZCCCGEdJHD6v9fX2grCCGEEEJIGIpMhBBCCOkUIiIA9qsXf7HIthBCCCGEkDgUmQghhBDSKeocTOfVi78vIrcVkX1EZG8R2XORbSOEEEIIIeOhyEQIIYSQLvLW+v+9AXwTVUTTZQDesLAWEUIIIYSQiWxbdAMIIYQQQhxeDOBiAE8GcEsAGxFMpy+qQYQQQgghZDLCWYEJIYQQQgghhBBCyKxwuBwhhBBCCCGEEEIImRmKTIQQQgghhBBCCCFkZigyEUIIIYQQQgghhJCZochECCGEEEIIIYQQQmaGIhMhhBBCCCGEEEIImRmKTIQQQgghhBBCCCFkZigyEUIIIYQQQgghhJCZochECCGEEEIIIYQQQmaGIhMhhBBCCCGEEEIImRmKTIQQQgghhBBCCCFkZigyEUIIIYQQQgghhJCZ+f8BEK3R3cltCdkAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FixedLocator\n",
    "\n",
    "# Assuming you have defined concatenated_tensor as a PyTorch tensor\n",
    "# concatenated_tensor = torch.cat((tensor1, tensor2), dim=0)\n",
    "\n",
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = h.T\n",
    "\n",
    "# Define custom color levels\n",
    "x = np.linspace(0, 1, concatenated_array.shape[1])  # Replace 0 and 1 with your actual x range\n",
    "t = np.linspace(0, 1, concatenated_array.shape[0])  # Replace 0 and 1 with your actual t range\n",
    "X, T = np.meshgrid(x, t)\n",
    "\n",
    "# Define custom color levels using the minimum and maximum from the NumPy array\n",
    "c_levels = np.linspace(np.min(concatenated_array), np.max(concatenated_array), 400)\n",
    "\n",
    "# Plot the contour with interpolated data\n",
    "plt.figure(figsize=(20, 5))\n",
    "plt.pcolormesh(T, X, concatenated_array, shading='auto', cmap='twilight')\n",
    "\n",
    "# Set the fontweight for axis labels to regular (not bold)\n",
    "plt.xlabel(\"$t$\", fontsize=26)\n",
    "plt.ylabel(\"$x$\", fontsize=26)\n",
    "plt.title(\"$|u(x, t)|$\", fontsize=26)\n",
    "\n",
    "# Set tick labels fontweight to regular (not bold) and increase font size\n",
    "plt.tick_params(axis='both', which='major', labelsize=20, width=3, length=10)\n",
    "\n",
    "# Set the fontweight for tick labels to regular (not bold)\n",
    "for tick in plt.gca().get_xticklabels() + plt.gca().get_yticklabels():\n",
    "    tick.set_weight('normal')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 5\n",
    "num_ticks = 5\n",
    "x_ticks = np.linspace(np.min(T), np.max(T), num_ticks)\n",
    "y_ticks = np.linspace(np.min(X), np.max(X), num_ticks)\n",
    "\n",
    "plt.gca().xaxis.set_major_locator(FixedLocator(x_ticks))\n",
    "plt.gca().yaxis.set_major_locator(FixedLocator(y_ticks))\n",
    "\n",
    "cbar1 = plt.colorbar()\n",
    "# Set the number of ticks for the color bar with uniformly distributed numbers\n",
    "num_ticks = 5\n",
    "c_ticks = np.linspace(np.min(concatenated_array), np.max(concatenated_array), num_ticks)\n",
    "cbar1.set_ticks(c_ticks)\n",
    "\n",
    "# Set the fontweight and fontsize for color bar tick labels\n",
    "for t in cbar1.ax.get_yticklabels():\n",
    "    t.set_weight('normal')\n",
    "    t.set_fontsize(26)  # Increase the font size for color bar tick labels\n",
    "\n",
    "# Increase the size of numbers on axis and color bar\n",
    "plt.xticks(fontsize=26)\n",
    "plt.yticks(fontsize=26)\n",
    "\n",
    "# Increase the tick size and width of the color bar\n",
    "cbar1.ax.tick_params(axis='both', which='major', labelsize=30, width=3,  length=10)\n",
    "\n",
    "#plt.savefig('Contour_Exact.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "plt.savefig('contour_exact.jpeg', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5578e81a",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "pytorch",
   "language": "python",
   "name": "pytorch"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
